我在SQL Azure中有一个数据库,在15到30分钟之间做一个简单的操作:
select count(id) from mytable
Run Code Online (Sandbox Code Playgroud)
数据库大约3.3GB,计数返回大约2,000,000,但我已经在本地尝试过,只需不到5秒!
我也运行了一个:
ALTER INDEX ALL ON mytable REBUILD
Run Code Online (Sandbox Code Playgroud)
在数据库中的所有表上.
如果有人能指出我试图诊断/解决这个问题,我将不胜感激.
(请跳到下面的更新3,因为我现在认为这是问题,但我仍然不明白).
更新1:聚集索引扫描中99%的时间似乎如下图所示.我有

更新2:这就是我做的时候统计信息的回复:
SET STATISTICS IO ON
SET STATISTICS TIME ON
select count(id) from TABLE
Run Code Online (Sandbox Code Playgroud)
统计:
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 317037 ms.
SQL Server …Run Code Online (Sandbox Code Playgroud) 是的,SQL Azure会自动重建/重组索引吗?
我们在Sql Azure上有一个数据库,并且性能下降,我想这是一个都市传奇.
你能帮助我吗?
谢谢,马可