SQL使用规范 本节提供SQL使用规范的通用八个原则供用户参考。 首要原则:语句尽量简单,不在数据库做复杂运算,不用存储过程、函数。 select,insert一定要带上字段名,尽量少用select 。 优化LIMIT分页:不要用LIMIT start, offset。 禁用select for update、insert……select from、select (必须明确给出需要字段)、insert TB values……(必须明确给出字段)、order by rand()语法。它会扩大意向锁范围,较大程度影响数据库的并发事务效率。 只用inner join或者left join;禁止用right join。表关联的on必须有索引,只关联需要表,只选择需要的列。 复杂查询拆分简单查询;尽量小批量小语句分段执行,一个sql不要超过1G的binlog。小语句小事务好处:减少锁、用上多cpu,缓存命中率高。 大事务可以set autocommit 0 关闭自动提交,但是拒绝滥用,会导致阻塞。 注意SQL语句中数据类型隐式转换的问题。查询条件中使用‘’可能导致类型转换无法使用索引,比如:intcol‘0’,会导致隐式转换无法正常使用索引。