如何评估小数据集的性能

时间:2016-07-02 12:19:20

标签: sql-server query-optimization

假设我有三个查询在MSSQL中返回相同的结果,而我的数据库太小而无法准确测量执行时间,或者我不相信我的服务器资源足以获得有希望的结果。不过,如果我使用包含数百万行的表运行它,我想知道哪个查询最快。例如,在SSMS Express 2014中,下面批次的确切查询执行计划将说明它们相对于批次的成本相同,等于33%。您可以在TSQL2012示例数据库上运行以下命令。

    select e.empid from 
hr.Employees e left join 
sales.orders o on e.empid = o.empid and orderdate = '20080212'
    where o.empid is null

    select e.empid from 
hr.Employees e
    where not exists (SELECT * from sales.orders o where o.empid = e.empid and  orderdate = '20080212')

    select empid from hr.Employees
    except
    select empid from sales.orders where orderdate = '20080212'

现在,我不相信所有这些查询都有相同的成本。有没有什么方法可以更精确地评​​估这些,而无需在更大的数据库上运行此批处理?使用SSMS是首选,尽管我也对外部工具感到好奇。

0 个答案:

没有答案