gpt4 book ai didi

sql-server - SQL Server 存储过程中的表变量插入性能不佳

转载 作者:行者123 更新时间:2023-12-02 23:10:16 25 4
gpt4 key购买 nike

我们在存储过程中使用表变量时遇到性能问题。

以下是实际发生的情况:

DECLARE @tblTemp TABLE(iId_company INT)

INSERT INTO @tblTemp(iId_company)
SELECT id FROM .....

SELECT 返回 138 个结果,但插入 TABLE 变量需要 1 分钟 15,但是当我使用具有相同 SELECT 的临时表时,哎哟,需要 0 秒:

CREATE TABLE #temp (iId_company INT)

INSERT INTO #temp(iId_company)
SELECT id FROM ...

什么可能导致该行为?

最佳答案

使用临时表。您将看到更好的性能。

对此背后原因的详细解释超出了最初的范围但问题总结如下:

  • 表变量针对一个进行了优化行,由 SQL Server 即假设 1将返回行。
  • 表变量不会创建统计数据。

Google 临时表与临时表表变量提供丰富的资源和讨论。如果您需要具体帮助,请给我发送电子邮件或在 Twitter 上与我联系。

关于sql-server - SQL Server 存储过程中的表变量插入性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com