比较SQL查询性能

时间:2019-06-26 16:38:10

标签: sql sql-server tsql

我正在重新设计一些数据库表。我在同一张表中有2个可用于查询数据的键,我想比较它们之间的性能差异。使用较新的键进行查询的速度较慢,因此我希望有一种方法,可以在更改架构以重新评估查询性能后运行。

我了解MS SQL Server和SET STATISTICS IO, TIME ON中的执行计划。但是,我想花费一个非常简单的绝对时间,这可以给我带来现实的结果。考虑到每个查询大约需要4秒钟,因此我必须在一个循环中连续多次运行相同的查询。我目前有:

USE [MyDb]

CHECKPOINT
DBCC FREESYSTEMCACHE('ALL')

<query>

如果我通过powershel sqlcmd在循环中运行了上述内容,那么清除缓存是否足以清除在当前运行之前运行同一查询的影响?

1 个答案:

答案 0 :(得分:0)

我最终使用了以下代码段:

CHECKPOINT
DBCC FREESYSTEMCACHE('ALL')
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE