优化SQL语句

一.常规SQL语句优化

1.不用*来代替所有列名,尽量采用与访问表相关的实际列名;

2.用TRUNCATE 代替DELETE

优化SQL语句_第1张图片
图片发自App


3.在确保完整性的情况下,多使用COMMIT语句。

4.尽量减少表的查询次数。

二.表连接优化

1.驱动表的选择:

驱动表是指被最先访问的表;

2.where子句连接顺序

表连接最好都在where条件以前

三.合理使用索引

从总行中查询2%-4%的表,可以考虑建立索引

建立索引的基本原则:

1.以查询关键字为基础,表中的行随机排列

2.包含的列数相对较少的表

3.表中大多数查询都包含相对简单的WHERE从句

4.以查询关键字作为基础表,且该表中的行遵循均匀分布

5.缓存命中率低,并且不需要操作系统权限

选择索引列的原则:

1.WHERE从句经常使用的关键字

2.SQL语句中频繁使用的表连接的关键字

3.可选择性高的关键字

4.取值较少的关键字或表达式

5.不要把频繁修改的列作为索引列

6.不要使用包含操作符或函数的WHERE从句中的关键字作为索引

7.如果大量并发的INSERT,UPDATE,DELETE语句访问了父表或者子表,则考虑使用完整性约束的外部键作为索引

8.在选择索引时,要考虑改索引所引起的INSERT UPDATE,DELETE操作是否值得

你可能感兴趣的:(优化SQL语句)