1、mysql不支持top,它是采用limit来实现这一功能的;
2、当sql语句中含有in、like、exists时索引不起作用,开始变为全表查询;
3、语句中的in和exists这样的条件能用子查询就用子查询,这样性能会提升不少,当然用关联查询更好;
4、当遇到union这样的联合查询时,要想提高性能,可以采用将每一个子查询单独开一个线程的方式来替代实现;
5、有时候将一个sql语句分拆成几个小sql,并建临时表,分步查询会对性能提升有很大帮助,最近这个项目在sql没有拆分之前耗时大于270秒,将其拆分几个子语句分步查询,并建立临时表后,耗时降到25秒左右;
6、建索引不是越多越好,但是到底看所建的索引有无用处,我们可以同explain sql语句来查看,当某字段建了索引后它的查询类型还是ALL,说明该索引无效。
本文介绍了MySQL数据库中提高查询效率的方法,包括使用LIMIT代替TOP、优化IN和LIKE等操作符的使用场景、通过子查询和连接查询提升性能、利用多线程处理UNION查询、分步查询及使用临时表减少耗时、合理建立索引并验证其有效性。
1618

被折叠的 条评论
为什么被折叠?



