SQL优化小技巧

发布时间:2024年01月11日

在这里插入图片描述

  1. 在表中建?索引,优先考虑 where group by 使?到的字段。

  2. 查询时尽量避免使?select * ,只查询需要?到的字段。

  3. 避免在where?句中使?关键字两边都是%的模糊查询,尽量在关键字后使?模糊查询。

  4. 尽量避免在where?句中使?IN 和NOT IN。
    优化:能使?between就不?in
    在?查询中使?exists ?句

  5. 尽量避免使?or,优化:可以?union代替or。

  6. 尽量避免在where?句中使?表达式操作。

  7. 尽量避免在where?句中使?null判断,优化:给字段添加默认值,对默认值判断。

  8. 尽量不要在where条件中等号的左侧进?表达式.函数操作。

  9. 尽量避免使?where 1=1,优化:?代码拼接sql,需要where的地?加where,需要and的地?加and

  10. 尽量避免?事务操作,提?并发能?。

  11. ?个表中的索引最好不要超过6个。

  12. 应尽量避免在where?句中使? != 或 <>。

  13. 在使?索引字段作为条件时,如果该索引是复合索引,那么必须使?到该索引中的第?个。字段作为条件时
    才能保证系统使?该索引,否则该索引将不会被使?,并且应尽可能的让字段顺序与索引顺序相?致。

  14. Update 语句,如果只更改1、2个字段,不要Update全部字段,否则频繁调?会引起明显的性能消耗,同时
    带来?量?志。

  15. 对于多张?数据量(这??百条就算?了)的表JOIN,要先分?再JOIN,否则逻辑读会很?,性能很差。

  16. 尽量使?数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增
    加存储开销。
    这是因为引擎在处理查询和连 接时会逐个?较字符串中每?个字符,?对于数字型??只需要?较?次就够
    了。

  17. 尽量避免使?游标,因为游标的效率较差,如果游标操作的数据超过1万?,那么就应该考虑改写。游标的?
    个常??途就是保存查询结果,以便以后使?。
    游标的结果集是由SELECT语句产?,如果处理过程需要重复使??个记录集,那么创建?次游标?重复使?
    若?次,?重复查询数据库要快的多。

  18. 尽量避免向客户端返回?数据量,若数据量过?,应该考虑相应需求是否合理。

  19. 什么时候【要】创建索引?
    表经常进? SELECT 操作。
    表很?(记录超多),记录内容分布范围很?。
    列名经常在 WHERE ?句或连接条件中出现。

  20. 什么时候【不要】创建索引?
    表经常进? INSERT/UPDATE/DELETE 操作。
    表很?(记录超少)。
    列名不经常作为连接条件或出现在 WHERE ?句中。

  21. 索引优缺点:
    索引加快数据库的检索速度。
    索引降低了插?、删除、修改等维护任务的速度。
    唯?索引可以确保每??数据的唯?性,通过使?索引,可以在查询的过程中使?优化隐藏器,提?系统的性
    能。
    索引需要占物理和数据空间,另外虽然索引可以提?查询速度,但是它们也会导致数据库系统更新数据的性能下
    降,因为?部分数据更新需要同时更新索引。

文章来源:https://blog.csdn.net/weixin_37791303/article/details/135540407
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。