如何比较 sql 服务器查询性能

How to compare sql server query performance

我有两种方法可以从 sql 服务器

获取结果

第一种方式

select * from my_view where key='key'

第二种方式

select * from my_function('key')

这两种方式做同样的事情。 实际上数据库的大小很小,所以执行时间太短,我不能告诉 一个需要更少的时间,但我不确定如果数据库增长它们是否仍然相同

所以我的问题是:有什么方法或免费工具可以比较两个查询的确切执行时间吗?

key='key' 总是更快或相同。切勿对列名使用函数(如果适用,请对条件中的值使用函数,例如:key=function('key'))。如果这样做,SQL 服务器无法对查询使用任何优化(例如,索引将被忽略)。

为确保查询在 table 增长时保持其性能水平,您必须在列上设置索引。

您可以从 SQL Server Management Studio 中的执行计划推断出性能(当您在启用包含实际执行计划的情况下执行查询时 - Ctrl+M)。您还可以启用包含统计信息 (Ctr+Alt+S) 以查看一些性能信息。

如果您 运行 批量查询多个(一个查询 window)并启用 "Include Actual Execution Plan",它会给每个查询一个 "relative cost to the batch"。

因此,如果您的批次中有两个,如果一个小于 50%,那么它比另一个快。