MySQL的SQL规范
良好的 SQL 习惯能大大降低慢查询出现的概率,下面主要介绍一些 SQL 规范
避免隐式转换
当操作符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。则会发生转换隐式
隐式转换的类型主要有字段类型不一致、in参数包含多个类型、字符集类型或校对规则不一致等
隐式类型转换可能导致无法使用索引、查询结果不准确等
尽量不使用 select * ,只选择需要的字段
因为使用 selec * 会读取不需要的列,会增加 CPU 负载、磁盘 I/O、网络流量的消耗,并且容易在增加或者删除字段后导致程序报错
禁止单条 SQL 语句同时更新多张表
禁止使用以 “%” 开头的模糊查询
以 “%” 开头的模糊查询大都是不能使用索引的
在 SQL 中不建议使用 sleep()
使用 sleep() 可能会增加 SQL 加锁的时间,从而影响并发性能
避免大表的 join
可能会导致数据库高负载,从而影响其他查询