性能调优SQL-如何?
性能如何调整SQL查询?性能调优SQL-如何?,sql,performance,Sql,Performance,性能如何调整SQL查询? 可以使用哪些技巧/工具/概念来更改SQL查询的性能 如何量化收益 一个人需要注意什么 可以使用哪些技巧/工具/概念来更改SQL查询的性能? 使用索引?它们在实践中是如何工作的 标准化与非标准化数据?性能与设计/维护的权衡是什么 预处理中间表?是用触发器还是批处理作业创建的 重新构造查询以使用临时表、子查询等 将复杂查询拆分为多个查询并合并结果 还有别的吗 如何量化绩效? 阅读 CPU时间 不同版本同时运行时的“%Query Cost” 还有别的吗 需要
- 可以使用哪些技巧/工具/概念来更改SQL查询的性能
- 如何量化收益
- 一个人需要注意什么
可以使用哪些技巧/工具/概念来更改SQL查询的性能?
- 使用索引?它们在实践中是如何工作的
- 标准化与非标准化数据?性能与设计/维护的权衡是什么
- 预处理中间表?是用触发器还是批处理作业创建的
- 重新构造查询以使用临时表、子查询等
- 将复杂查询拆分为多个查询并合并结果
- 还有别的吗
如何量化绩效?
- 阅读
- CPU时间
- 不同版本同时运行时的“%Query Cost”
- 还有别的吗
需要注意什么?
- 是时候制定执行计划了?(存储过程与内联查询)
- 正在强制重新编译的存储进程
- 在小数据集上测试(查询是线性扩展,还是平方律等?)
- 缓存以前运行的结果
- 优化“正常情况”,但损害“最坏情况”
- 什么是“参数嗅探”
- 还有别的吗
主持人注意: 这是一个巨大的问题,我应该把它分成多个问题吗 回应者注意: 因为这是一个巨大的问题,请参考其他问题/答案/文章,而不是写冗长的解释。我非常喜欢《专业SQL Server 2005性能调优》一书来回答这个问题。是Wiley/Wrox,不,我不是作家,呵呵。但它解释了您在这里要求的许多事情,以及硬件问题
但是,是的,这个问题远远超出了在这样的评论框中可以回答的范围。编写可搜索查询是需要的事情之一,如果您不编写可搜索查询,那么优化器就无法利用索引。这里有一个例子,这个查询从24小时变为36秒,当然你还需要知道这3个连接之间的区别 循环连接, 散列连接, 合并联接
请参见此处:以下是一些基本步骤,我们可以按照这些步骤来提高性能:
+1我同意一本好书是一个很好的步骤,我喜欢sql server 2005内部的性能调优