谈谈自己对sql优化的理解

sql优化的见解

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

猜你喜欢

转载自blog.csdn.net/weixin_43832604/article/details/88648230