【发布时间】:2014-04-16 21:19:37
【问题描述】:
我已经在互联网上搜索了几个小时,试图弄清楚如何使用表值参数 (TVP) 来提高我的查询性能。
经过几个小时的搜索,我终于确定了我认为问题的根源。在检查我的查询的估计执行计划后,我发现每当我使用 TVP 时,我的查询的估计行数为 1。如果我将 TVP 交换为选择我感兴趣的数据的查询,那么估计的行数在 7400 左右会更加准确。这会显着提高性能。
但是,在实际场景中,我不能使用查询,我必须使用 TVP。在使用 TVP 时,有什么方法可以让 SQL Server 更准确地预测行数,以便使用更合适的计划?
【问题讨论】:
-
你能在表值变量上使用更新统计信息吗?
-
@Dannyg9090 不,临时变量不存储统计信息。
标签: sql sql-server-2008 sql-execution-plan table-valued-parameters