SQL 性能调优 - 如何?

2023-11-24

性能如何调整 SQL 查询?

  • 可以使用哪些技巧/工具/概念来改变 SQL 查询的性能?
  • 如何量化收益?
  • 一个人需要注意什么?


可以使用哪些技巧/工具/概念来改变 SQL 查询的性能?

  • 使用索引?他们在实践中如何运作?
  • 标准化数据与非标准化数据?性能与设计/维护的权衡是什么?
  • 预处理中间表?使用触发器或批处理作业创建?
  • 重构查询以使用临时表、子查询等?
  • 将复杂查询分成多个并合并结果?
  • 还要别的吗?


如何量化绩效?

  • Reads?
  • CPU 时间?
  • 不同版本一起运行时的“%查询成本”?
  • 还要别的吗?


一个人需要注意什么?

  • 是时候生成执行计划了? (存储过程与内联查询)
  • 存储过程被迫重新编译
  • 在小数据集上进行测试(查询是否线性缩放或平方律等?)
  • 先前运行的结果被缓存
  • 优化“正常情况”,却损害“最坏情况”
  • 什么是“参数嗅探”?
  • 还要别的吗?


版主注意事项:这是一个很大的问题,我应该把它分成多个问题吗?

回复者请注意:因为这是一个很大的问题,请参考其他问题/答案/文章,而不是编写冗长的解释。


我很喜欢《专业SQL Server 2005性能调优》这本书来回答这个问题。这是 Wiley/Wrox,不,我不是作家,呵呵。但它解释了您在这里要求的很多事情,以及硬件问题。

但是,是的,这个问题远远超出了像这样的评论框中可以回答的范围。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 性能调优 - 如何? 的相关文章

随机推荐