如何让你的 SQL 运行得更快(下)
总结:
可见,所谓优化即 where 子句利用了索引,不可优化即发生了表扫描或额外
开销。
1.任何对列的操作都将导致表扫描,上海数据恢复
它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。
2.in、or 子句常会使用工作表,使索引失效;如果不产生大量重复值,可以
考虑把子句拆开;拆开的子句中应该包含索引。
3.要善于使用存储过程,它使 SQL 变得更加灵活和高效。
从以上这些例子可以看出,SQL优化的实质就是在结果正确的前提下,用优
化器可以识别的语句,充份利用索引,减少表扫描的I/O次数,尽量避免 表搜索
的发生。其实SQL的性能优化是一个复杂的过程,上述这些只是在应用层次的一
种体现,深入研究还会涉及数据库层的资源配置、服务器数据恢复
网络层的流量控制以及操 作系统层的总体设计。
1.合理使用索引
索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现
在大多数的数据库产品都采用 IBM 最先提出的 ISAM 索引结构。索引的使用要恰
到好处,其使用原则如下:
●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的
字段则由优化器自动生成索引。
●在频繁进行排序或分组(即进行 group by 或 order by 操作)的列上建立索
引。
●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列
上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同
值,因此就无必要建立索引。raid数据恢复
如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
●如果待排序的列有多个,可以在这些列上建立复合索引(compound
index)。
评论0