如何编写简洁高效的sql语句
类型:E-tutorial大小:8.5M语言:中文评分:8.3标签:立即下载精炼高效的Sql语句对于大型网站或大型数据库非常有用。Sql的冗余导致系统和资源的占用以及时间的增加。1.什么样的sql是高效的sql?
2.为什么2.sql不跟随索引?如何制作sql索引,即改变sql的执行计划
3.有哪些指标?
4.何时使用索引以及何时扫描整个表
Oracle优化器的表统计,评估表的最佳连接顺序、连接方法和执行路径;
最后,生成一个执行计划,oracle根据这个计划执行sql
1.什么样的sql是高效的sql?
答:最本质的答案是执行时间最短,怎么可能最短,就是用最少的资源做事,不做无用的工作;
即使sql的io最少,怎么可能最少呢?就是尽可能使用索引,而不是扫描整个表;在关联的多表中
有时,开发人员会选择正确的表连接方法、执行路径等。
2.为什么2.sql不接受索引
A.类型不匹配
b .条件列包含函数,但没有创建相应的函数索引
c .复合索引中的前导列不用作查询条件
d .在CBO模式下,所选行的比例很大,优化器选择全表扫描
e .在CBO模式下,表已经很久没有被分析了,优化器选择扫描整个表
3.索引类型和创建方法
a .乙*指数
在tablename(columnname)上创建索引indexname
B.反向索引
反向在tablename(columnname)上创建索引indexname
C.下降指数
在表名(列名desc)上创建索引索引名;
D.位图索引
在tablename(columnname)上创建位图索引indexname
e .功能索引
在tablename(function name(column name))上创建索引indexname
4.什么时候使用索引,什么时候扫描整个表?
回答:
要使用索引,我们必须首先了解一些基本信息
这个表有多少行?查询返回多少行?表的哪些列有索引?有哪些指标?
当有多个条件列时,应该选择什么索引?
A.当有序表中查询的记录数小于40%时,最好使用index否则,用全表扫描
B.当无序表中查询的记录数小于7%时,最好使用索引;否则,用全表扫描
C.当表中有很多锁时(该表的dml操作非常频繁)
版权声明:如何编写简洁高效的sql语句是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。