10. 6 查询优化
1、 合理使用索引:索引是数据库中重要的数据结构,根本目的就是为了提高查询效率,使用原则如下 :
(1) 经常在索引中作为条件被使用的列,应为其建立索引;
(2) 频繁进行排序或分组(即进行group by或order by操作)的列,应为其建立索引;
(3) 一个列的值域很大时,应为其建立索引;
(4) 如果待排列的列有多个,应在这些列上建立复合索引;
(5) 可以使用系统工具来检查索引的完整性,必要时进行修复。
2、 避免或简化排序:因为磁盘排序的开销很大,当能够利用索引自动以适当的次序产生输出时,优化器就可以避免不必要的排序步骤,以下是一些影响因素:
(1) 由于现有的索引不足,导致排序时索引中不包括一个或几个等待排序的列;
(2) group by或order by子句中列的次序与索引的次序不一样;
(3) 排序的列来自不同的表。
为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表。如排序不可避免,那么应试图简化它。
3、 消除对大型表行数据的顺序存取:在嵌套查询中,对表的顺序存取对查询效率可能产生致命的影响,解决方法就是对连接的列进行索引。还可以使用并集来避免顺序存取。
4、 避免相关子查询:查询嵌套层次越多,效率越低,应尽量避免子查询,如不可避免,那么要在子查询中过滤尽量多的行;
5、 避免困难的正规表达式:避免含MATCHES和LINK关键字的正规表达式;
6、 使用临时表加速查询:把表的一个子集进行排序并创建临时表,有时能加速查询;
7、 用排序来取代非顺序磁盘存取;
8、 不充分的连接条件;
9、 存储过程;
10、 不要随意使用游标;
11、 事务处理。
2015年全国职称计算机考试教材(2007模 .. 定价:¥225 优惠价:¥213 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 |