小编bjn*_*jnr的帖子

如何最好地衡量查询性能?

我有 2 个存储过程,其中第二个存储过程是第一个的改进。

我正试图通过究竟有多少改进来衡量。

  1. clock time由于执行时间不同,因此测量似乎不是一种选择。更糟糕的是,有时(很少,但确实发生过)第二个存储过程的执行时间比第一个过程的执行时间大(我猜是因为当时服务器的工作量)。

  2. Include client statistics 也提供不同的结果。

  3. DBCC DROPCLEANBUFFERSDBCC FREEPROCCACHE很好,但同样的故事......

  4. SET STATISTICS IO ON 可能是一种选择,但是由于我的存储过程中涉及许多表,我怎么能获得总分呢?

  5. Include actual execution plan也可以是一个选择。我得到estimated subtreecost的0.3253的第一个存储过程,以及0.3079为第二个。我可以说第二个存储过程快 6% (=0.3253/0.3079) 吗?

  6. 使用 SQL Server Profiler 中的“读取”字段?

那么我怎么能说第二个存储过程比第一个过程快 x%,无论执行条件如何(服务器的工作量,执行这些存储过程的服务器等)?

如果不可能,我如何证明第二个存储过程比第一个存储过程具有更好的执行时间?

performance sql-server

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

performance ×1

sql-server ×1