一.常规SQL语句优化
1.不用*来代替所有列名,尽量采用与访问表相关的实际列名;
2.用TRUNCATE 代替DELETE

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操作是否值得
网友评论