Sql 性能优化

一、分析问题

  1. 查询所用的时间 set statistics time on set statistics time off
  2. set statistics io on set statistics io off 查看表io
  3. 查看sql 执行计划 了解性能消耗的sql位置 sql server

二、优化方法

  1. 表字段较多或者某个字段存储数据较大时查询部分字段 避免使用 select *
  2. 外键和join关联字段添加索引
  3. where条件字段添加索引
  4. select字段添加到索引include字段里,减少回表操作
  5. 状态枚举值少的索引效果不好,甚至会引发全表扫描
  6. 合理使用索引

三、索引失效

  1. or 条件 字段部分没有索引,部分有索引,(全有索引不会失效)
  2. 索引字段类型隐式转换
  3. where条件索引字段使用函数
  4. 索引字段数学计算
  5. 复合索引没有使用左列
  6. like以%开头
  7. 表数据量少,数据库认为全表查询比索引快时
  8. not 关键字 not in() not exist()

四、索引使用建议

  1. 索引列不要有NULL值 数据库中null值列不会包含在索引中
  2. 多条件使用复合索引加快查询速度
  3. 经常更新的列不要创建索引
  4. 枚举列 不要单独创建索引(可以使用复合索引)
  5. Select 字段可以包含到索引Include中
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容