sql优化

1、尽量避免全表扫描,尽量使用索引字段作为筛选条件

 

2、尽量不使用通配符“*”

 

3、尽量避免在筛选条件中使用null,会导致索引失效,全表扫描,可以给字段设置默认值。

 

4、尽量用union all代替or,or会进行全表扫描,索引失效。

 

5、尽量在where条件“=”左边不使用数学运算表达式或者函数操作,会导致全表扫描,索引失效。

 

6、使用模糊查询like字段的时候,尽量不在字段前面加%,类似于“%12%”,应改为“12%”,否则也会导致全表扫描,索引失效。

 

7、尽量避免在where后面使用不等号,“!=” “<>”,否则也会导致全表扫描,索引失效。

 

8、尽量不使用 in 字段,如果连续,用between代替,或者用exists代替,否则也会导致全表扫描,索引失效。

 

9、不是每个字段建索引都有效果,比如性别,尽量在有大量不重复字段上建立索引,也不是越多越好,索引也会占用空间,会影响添加修改的速率,尽量在一个表上建立索引个数不要超过6个。

 

10、能使用数字型字段,就不要使用字符型,因为数据库引擎在处理字符型字段的时候是逐位比对,这会降低连接和查询速率。

 

sql优化

上一篇:安全删除mysql的binlog日志


下一篇:mysql系统信息查询(不完全,未做排版)