Van*_*nce 8 sql sql-server testing performance
这些天我正在做一些SQL调优,并在测试期间找到一个奇怪的SQL:
SELECT StatMan([SC0],[SC1], [SB0000])
FROM (SELECT TOP 100 PERCENT [SC0],[SC1], step_direction([SC0]) over (order by NULL) AS [SB0000]
FROM (SELECT [tableA] AS [SC0],[tableB] AS [SC1]
FROM [dbo].[url] WITH (READUNCOMMITTED,SAMPLE 3.408654e+000 PERCENT)
) AS _MS_UPDSTATS_TBL_HELPER
ORDER BY [SC0],[SC1], [SB0000]
) AS _MS_UPDSTATS_TBL
OPTION (MAXDOP 1)
Run Code Online (Sandbox Code Playgroud)
看起来这是根据SQL Server做一些"reindex"或"重建"一些db索引.但我的问题是,除了测试之前每个表的"reindex"之外,我们如何在长负载测试期间避免这种情况.
由于我的表包含足够的行,因此该SQL将消耗16862ms.我的测试中有很多插入动作.
这似乎来自更新统计数据.
更新统计信息是否会在正常生产环境中发生?如果是这样,不应该进行负载测试,以反映生产环境,更新统计数据?
要关闭AUTO_UPDATE_STATISTICS选项,请在所需的表上使用sp_autostats(请参阅http://msdn.microsoft.com/en-us/library/ms188775.aspx).
| 归档时间: |
|
| 查看次数: |
8136 次 |
| 最近记录: |