【发布时间】:2019-02-18 22:02:16
【问题描述】:
这是一个 Azure SQL 数据库。这是一张小桌子,真的。我没有做 SELECT * FROM。我正在命名表中的所有列。
该表具有带有聚集索引的 PK。它还有一个包含两列的非聚集索引。
最初,SELECT 语句需要 39 秒才能运行。但是在我对两个索引都进行了 REORGANIZE 之后,现在需要 1:02。所以,我让事情变得更糟。 (幸好这是一个 DEV 表。)
我怎样才能至少恢复到我开始时的 39 秒?而且,我还应该寻找什么来解释缓慢?
如果有帮助,这里是执行计划。
我还启动了 SQL Profiler 并运行了跟踪,但它返回了太多数据,老实说,我不知道我在寻找什么结果。
这是SELECT @@Version的结果
Microsoft SQL Azure (RTM) - 12.0.2000.8
2019 年 1 月 3 日 00:14:33
版权所有 (C) 2018 Microsoft Corporation
【问题讨论】:
-
SET STATISTICS IO ON显示什么?另外,在执行SELECT时,该会话体验会等待什么? -
您选择重组而不是重建的任何原因?
-
@TT,根据我的阅读,索引碎片化的百分比不保证重建。 PK 为 7%,非集群为 1%
-
@MartinSmith,我不知道如何使用
SET STATISTICS IO ON
标签: sql sql-server azure-sql-database azure-sql-server