首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能调优SQL -如何?

性能调优SQL -如何?
EN

Stack Overflow用户
提问于 2009-01-21 00:08:52
回答 5查看 2.8K关注 0票数 9

如何对SQL查询进行性能优化?

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

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

  • 使用指数线?他们在实践中是如何工作的?
  • 正常数据还是非正常数据?性能与设计/维护的权衡是什么?
  • 经过预处理的中间表?用触发器或批处理作业创建的?
  • 重组查询以使用临时表、子查询等?
  • 将复杂的查询分离成倍数,并合并结果?
  • 还要别的吗?

如何量化性能?

  • 读吗?
  • CPU时间?
  • 当不同版本一起运行时,"%查询成本“?
  • 还要别的吗?

一个人需要注意什么?

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

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

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-01-21 00:12:00

我非常喜欢“专业SQL Server 2005性能调优”一书来回答这个问题。是Wiley/Wrox,不,我不是作家,呵呵。但是它解释了很多你想要的东西,还有硬件问题。

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

票数 8
EN

Stack Overflow用户

发布于 2009-01-21 00:15:52

编写sargable查询是需要做的事情之一,如果您不编写sargable查询,那么优化器就无法利用索引。下面是一个例子,只有在数据库中,更改几行代码才能得到1000%以上的改进,这个查询从超过24小时到36秒

票数 4
EN

Stack Overflow用户

发布于 2009-01-21 00:26:18

当然,您还需要知道这3个联接之间的区别。

循环连接,哈希连接,合并连接

见此处:http://msdn.microsoft.com/en-us/library/ms173815.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/463639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档