使用 ? 时,Excel 中的 SQL 查询需要更长的时间。获取与查询中指定的值不同的单元格值

发布于 2024-12-02 10:07:05 字数 402 浏览 0 评论 0原文

我编写了 SQL Server 数据库的 Excel 查询来显示复杂视图的结果。该视图对多个记录少于 10K 的表使用联接,返回约 620 行,执行时间为 1-4 秒。总是。添加 WHERE 子句以将查找的 ID 限制为特定值,并根据查找的 ID 选择 1 到 100 行之间的行,并且执行时间始终不到 1 秒。

但是,修改 WHERE 子句以使用 ID = ?,并将其指向单元格。现在,如果选择的行数少于 30 行,则查询需要执行 5-30 秒;如果选择 30-50 行,则需要 2-4 分钟;如果选择 70-100 行,则需要 10-15 分钟;如果选择更多行,则会超时。这些时间是一致的。

如果使用 请求单元格,为什么 Excel 查询需要更长的时间?参数而不是给定值?为什么小查询完成得很快,大一点的查询需要更长的时间,而“大”查询则需要这么长时间?

I've written an Excel query of a SQL Server database to display results from a complex view. The view uses a join on several tables of less than 10K records, returns about 620 rows and takes 1-4 seconds to execute. Always. Add a WHERE clause to limit the ID sought to a specific value, and it selects between 1 and 100 rows, depending on the ID sought, and it always executes in less than 1 second.

However, modify the WHERE clause to use ID = ?, and point it at a cell. Now the query takes 5-30 seconds to execute if less than 30 rows are selected, 2-4 minutes if 30-50 rows are selected, 10-15 minutes if 70-100 rows are selected, and times out if more. These times are consistent.

Why does an Excel query take longer if a cell is requested using a ? parameter rather than a given value? And why do small queries finish fast, a little larger take longer, and "large" queries take so long?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橙幽之幻 2024-12-09 10:07:05

这可能是“参数嗅探”问题。 添加以下行:

OPTION (RECOMPILE)

尝试在 SQL 查询末尾

。这里有一篇文章解释了什么是参数嗅探: http://blogs.technet.com/b/mdegre/archive/2012/03/19/what-is-parameter-sniffing.aspx

This could be a 'parameter sniffing' problem. Try including the line:

OPTION (RECOMPILE)

at the end of your SQL query.

There is an article here explaining what parameter sniffing is: http://blogs.technet.com/b/mdegre/archive/2012/03/19/what-is-parameter-sniffing.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文