影响在数据库上运行SQL所需时间的因素有哪些?

时间:2011-03-29 05:53:21

标签: sql database data-warehouse

我有一个在数据仓库上运行的查询。我上个月报告了这个报道。比如x分钟,它给了我一些结果。在没有对数据库进行任何修改的情况下在同一数据库上运行时,相同的报告返回相同的结果,但现在是y分钟。

Y'X的催化剂。时间的差异是如此之大。

数据量和索引也相同。它们没有区别。

现在客户要我找理由。可能的原因是什么?

3 个答案:

答案 0 :(得分:2)

以下是一些:

  1. 仓库中的数据量已更改。
  2. 索引可能已被修改。
  3. 您的仓库分布在不同的服务器上,它们之间存在连接延迟......
  4. 您的数据库服务器正在处理其他内容,因为它有较少的内存和CPU来运行您的报告。

答案 1 :(得分:2)

查询计划很可能已更改。数据的一些细微差别已经将查询优化器计算推向了一个新的,不太理想的计划。

答案 2 :(得分:2)

您打开了很多问题

  • 是在专用服务器上运行的数据库。
  • 您是从客户端还是直接在服务器上运行报告。
  • 对物理网络进行了更改,更改了一些设置。
  • 他们(偶然)改变协议以与服务器通信(tcp,named-pipes,...)
  • 您尝试过碎片整理吗
  • 你重启服务器
  • 你有
  • 之前和之后的执行计划吗?