您当前位置:优侠库 > 资讯攻略 >
来源:未知
2021-04-04 15:23:44 浏览: 分类:资讯攻略

如何写出高效的sql的一点想法

困惑的问题:

1.什么样的sql才能算是高效的sql?

2.2.sql为什么不带索引?如何制作sql索引,即改变sql的执行计划

3.有哪些种类的索引?

4.什么时候使用索引,什么时候扫描整个表?

Oracle optimizer的表统计,评估表的最佳连接顺序、连接方式和执行路径;

最后生成一个执行计划,oracle根据这个计划执行sql。

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

回答:最本质的回答是执行时间最短,怎么可能最短,就是用最少的资源做事情,不做无用功;

就算sql的io最少,怎么可能最少?尝试使用索引,而不是扫描整个表;在关联的多表中

这时候,开发人员要选择正确的表连接方法、执行路径等。

2.2.sql为什么不带索引?

A.类型不匹配

乙.条件列包含函数,但未创建相应的函数索引。

丙.复合索引中的前导列不用作查询条件。

d .在CBO模式下,选择的行数较多,优化器选择全表扫描。

e .在CBO模式下,表很长时间没有被分析,优化器选择全表扫描。

3.索引类型和创建方法

答.B*指数

在tablename(columnname)上创建索引indexname

B.反转标牌

对tablename(columnname)反向创建索引indexname

C.递减指数

在tablename(columnname desc)上创建索引indexname

D.位图索引

在tablename(columnname)上创建位图索引indexname

e .功能索引

在tablename(function name(column name))上创建索引indexname

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

答:

在使用索引时,你应该先了解一些基本信息。

表格里有多少行?返回多少行?表中的哪些列有索引?它们是什么样的指数?

当有多个条件列时,应该选择哪种索引?

A.当有序表中查询的记录数小于40%时,最好使用index否则,用全表扫描。

B.当无序表中查询的记录数小于7%时,最好使用index否则,用全表扫描。

C.当手表有许多锁片时(这款手表的dml操作非常频繁)

关键词:sql

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227427.html

攻略资讯
安卓软件