西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页西西教程数据库教程 → 怎样写出精炼高效的sql语句

怎样写出精炼高效的sql语句

相关软件相关文章发表评论 来源:本站整理时间:2010/8/10 16:49:38字体大小:A-A+

作者:佚名点击:444次评论:0次标签: sql

  • 类型:电子教程大小:8.5M语言:中文 评分:8.3
  • 标签:
立即下载

精炼又高效率的Sql语句对一个大型网站或大型数据库来讲是很有用的,Sql的冗余造成系统与资源的占用和时间的增加。
1.什么样的sql,才算是高效的sql呢?

2.sql为什么不走索引?如何让sql走索引,即改变sql的执行计划

3.索引有哪几种?

4,什时候用索引,什么时候全表扫描

oracle优化器的表统计信息,评估出表的最佳连接顺序,表的连接方法,执行路径;

最后生成执行计划,oracle就按着这个计划来执行sql

1.什么样的sql是高效sql?

答:最本质答案就是执行时间最短,怎么才能最短了,就是用最少的资源把事办了,不做无用功;

即使sql的io最少,那怎么样才才能最少呢?就是尽量用索引,不要全表扫描;在多表关联的

时候,开发人选正确的表连接方法,执行路径等

2.sql为何不走索引

A.类型不匹配

B。条件列包含函数但没有创建相应的函数索引

C。复合索引中的前导列没有被做为查询条件

D。CBO的模式下,选择的行数比例较大,优化器选择全表扫描

E。CBO的模式下,表很久没有分析,优化器选择了全表扫描

3.索引种类及创建方法

A。B*索引

create index indexname on tablename(columnname);

B.反向索引

create index indexname on tablename(columnname) reverse;

C.降序索引

create index indexname on tablename(columnname desc);

D.位图索引

create bitmap index indexname on tablename(columnname);

E。函数索引

create index indexname on tablename(functionname(columnname));

4,什时候用索引,什么时候用全表扫描?

答:

要使用索引时,首先要弄清一些基本信息

表有多少行?查询返回多少行?表的哪些列上有索引?都是什么样的索引?

在有多个条件列时,应该选择什么样的索引?

A.当查询的记录数,在有序表中小于40%的时候,最好用索引;否则用全表扫描

B.当查询的记录数,在有无序表中小于7%的时候,最好用索引;否则用全表扫描

C.表的锁片较多时(这个表dml操作很频繁)

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)