【问题标题】:Is there a limit to how long a SQL query can be in SQL Server? [duplicate]SQL 查询在 SQL Server 中的持续时间是否有限制? [复制]
【发布时间】:2025-12-28 21:10:12
【问题描述】:

可能重复:
Maximum size for a SQL Server Query? IN clause? Is there a Better Approach

我在 Google 上搜索了一段时间,找不到 SQL Server 中查询字符串的大小是否存在硬性限制。我的意思是,如果我构建一个 1 亿字符的查询,它会运行还是服务器会丢弃它太久?

SQL Server 中的 SQL 查询的长度是否有限制(以字符或标记或类似的形式)?

【问题讨论】:

标签: sql sql-server database azure-sql-database


【解决方案1】:

我从来没有遇到过 SQL 查询在字符数方面过长的问题,但是有一个查询可以引用的 最大表数 (256),我遇到了这个限制次。

Have you ever encountered a query that SQL Server could not execute because it referenced too many tables?

更新
在最新版本的 SQL Server 中,每个 SELECT 语句的表数仅受可用资源限制

【讨论】:

  • 这里的反对票对我来说有点苛刻。不是所需的确切答案,但肯定是相关的。
  • 您生成的最长查询有多长时间(估计也会有帮助)?
  • @sharptooth:大约 250 KB,但它是一个引用其他视图的视图。我对此不是 100% 确定,但我在某处读到,在执行此类查询时,SQL Server 将引用的视图替换为它们包含的实际 SELECT 语句,因此原始查询的大小会增加。
  • 视图替换不会发生在源代码/文本级别。它存储视图的代数化树,然后在流程的后期将它们放入。
  • @sharptooth:我记错了——它是 72 KB(不是 250 KB)。
最近更新 更多