谈谈自己对sql优化的理解
其他
2019-04-29 10:21:10
阅读次数: 0
sql优化的见解
- 合理的使用缓存来减少对数据库的查询。如利用mybatis的一级缓存,来减少相同sql的查询。
- 不使用select * from 得查询,加大数据库的压力,使用什么字段,返回什么字段。
- 避免使用not in 或 <> 不等于的查询,因为会查询全表。
- 我们自己写的sql很清楚知道,返回的数据有多少。当我们只需要有一个结果返回时,利用limit 1.查出1条后面的就不在查了。减少与数据库的交互。
- 对于我们经常能够查询的字段(列)或经常与其他表做条件的列,添加索引。(组合索引和单列索引)。
- 避免使用模糊查询like,‘%数据%’的查询,就算改查询列有索引,索引会失效,而‘数据%’不会使索引失效。
- 将查询条件更加精确化,提高了查询的速率。
- in操作的原理是先进性子查询操作,再进行主查询操作(适合主查询是大表,子查询是小表)。
exists操作的原理是先进行主查询操作,再到子查询中进行过滤(适合主查询是小表,子查询是大表)。
转载自blog.csdn.net/weixin_43832604/article/details/88648230