1、尽量select具体字段;
2、明确1条数据时,用limit 1;
3、尽量少用or;
4、优化limit分页,limit 10000 10很慢。例如:(1)order by + 索引;(2)业务中限制页数;
5、优化like,%放后面,遵循最佳左前缀法则;
6、where 条件尽量限制住,不要返回不符合业务的多余数据;
7、索引字段尽量不要参与mysql内置函数 或者 其他表达式计算;
8、表连接优先考虑内连接,如果是left join,应该小表驱动大表;
9、尽量where条件少用 != ;
10、组合索引时,注意索引列的顺序,遵循最左匹配原则;
11、如果要插入的数据过多,尽量批量保存;
12、慎用distinct关键字,当过多字段时,distinct多个字段sql将很慢;
13、尽量不要用is null 或者 is not null,可以考虑用默认值;
14、当in后面数据量过大时,应该考虑用exists关键字来实现;
15、表连接时,尽量写别名,查询字段也用“别名.”的方式;
16、尽量varchar代替char,除非字段全是固定个字符;
17、字符串一定要用“”引起来;
18、经常使用explain分析你的sql语句
如何编写高质量的sql
最新推荐文章于 2023-02-23 16:28:23 发布