一尘不染

性能调整SQL-如何?

sql

一种性能如何调整SQL查询?

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

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

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

如何量化绩效?

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

需要注意什么?

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

主持人注意: 这是一个很大的问题,我是否应该将其分为多个问题?

给响应者的说明: 因为这是一个很大的问题,所以请参考其他问题/答案/文章,而不要写冗长的解释。


阅读 113

收藏
2021-03-17

共1个答案

一尘不染

我真的很喜欢这本书“ Professional SQL Server 2005性能调优”来回答这个问题。是Wiley /
Wrox,不,我不是作家,嘿。但这说明了您在此处要求的许多内容,以及硬件问题。

但是,是的,这个问题超出了可以在诸如此类的注释框中回答的范围。

2021-03-17