gpt4 book ai didi

sql - 为什么使用变量时SQL Server变慢?

转载 作者:行者123 更新时间:2023-12-04 20:56:05 24 4
gpt4 key购买 nike

当不使用变量时,我有一个运行超快的SQL查询,大约一秒钟,例如:

WHERE id BETWEEN 5461094 and 5461097

但是当我有:
declare @firstId int
declare @lastId int

set @firstId = 5461094
set @lastId = 5461097

...
WHERE id BETWEEN @firstId and @lastId

...查询运行非常缓慢,仅在几分钟后完成。为什么会发生?我需要使用变量。我可以做些改进来避免这种性能问题吗?

最佳答案

这是因为当对值进行硬编码时,它可以在表中的数据上查找the statistics,并找出要运行的最佳查询。看一下每个查询的执行计划。使用变量时必须正在扫描。

如果范围始终很小,则可以使用索引提示来帮助解决此问题。

关于sql - 为什么使用变量时SQL Server变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/313935/

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