Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server内联查询是否在后台创建临时表_Sql_Sql Server_Temp Tables - Fatal编程技术网

SQL Server内联查询是否在后台创建临时表

SQL Server内联查询是否在后台创建临时表,sql,sql-server,temp-tables,Sql,Sql Server,Temp Tables,最近,我遇到了一个问题,在执行动态选择进入#诱惑时,我达到了8060行的限制。。。查询这个临时表依次用于更大的联接和透视操作。当我遇到行限制问题时,我在较大的查询中添加了SELECT查询作为内联查询(两者都是动态SQL查询),但仍然存在8060行限制的问题,因此想知道内联查询在执行期间是否会在后台创建temp或其他类型的表 我看到的错误如下所示 “无法创建大于允许值的XXXX大小的行 最大行大小为8060“ 大多数情况下,这是一个明确的指针,表明您的数据库/表设计有问题 您可以将您试图运行的查询

最近,我遇到了一个问题,在执行动态选择进入#诱惑时,我达到了8060行的限制。。。查询这个临时表依次用于更大的联接和透视操作。当我遇到行限制问题时,我在较大的查询中添加了SELECT查询作为内联查询(两者都是动态SQL查询),但仍然存在8060行限制的问题,因此想知道内联查询在执行期间是否会在后台创建temp或其他类型的表

我看到的错误如下所示

“无法创建大于允许值的XXXX大小的行 最大行大小为8060“


大多数情况下,这是一个明确的指针,表明您的数据库/表设计有问题

您可以将您试图运行的查询添加到您的帖子中吗


.

大多数情况下,这是一个明确的指针,表明您的数据库/表设计有问题

您可以将您试图运行的查询添加到您的帖子中吗


.

SQL Server可以采用一种称为的技术,在该技术中,它在tempdb中创建一个类似于临时表的结构

一般来说,当它有一个需要多次使用的中间结果,并且它相信存储和检索该数据的成本将低于重新生成中间结果的成本时,它会这样做


您可以通过为查询生成
估计的执行计划
来确定是否发生了这种情况。遗憾的是,无法保证估计的计划与查询生成的实际计划相同。

SQL Server可以采用一种称为的技术,在该技术中,它在tempdb中创建一个类似于临时表的结构

一般来说,当它有一个需要多次使用的中间结果,并且它相信存储和检索该数据的成本将低于重新生成中间结果的成本时,它会这样做


您可以通过为查询生成
估计的执行计划
来确定是否发生了这种情况。不幸的是,无法保证估计的计划与查询生成的实际计划完全相同。

不一定能明确指出数据库或表设计有问题。这通常是一个明确的指针,表明可以在查询中改进某些内容。检查@Damien_这个不信者的答案。你是正确的,这个问题很可能存在于查询本身。但我指的是这样一个事实,在我所看到的大多数情况下,查询已经变得臃肿和混乱,因为数据库开发人员需要使用奇怪而复杂的结构来弥补整个数据库中的次优表设计。因为OP指的是一个大的连接和透视操作,但没有包含实际的查询,所以我假设这里就是这种情况。另外,我认为您在执行计划中看到的假脱机程序操作与OP得到的错误没有任何关系。OP应该发布实际的查询,以便我们给出充分的答案,而不是我们所有人都猜测可能导致此问题的原因。虽然我感谢您对此的想法,但由于我工作的性质,我无法发布查询,但是它只能声明它在生成的动态列报告中的一部分,因此它与基础表或设计无关。它不一定是数据库或表设计有问题的明确指针。这通常是一个明确的指针,表明可以在查询中改进某些内容。检查@Damien_这个不信者的答案。你是正确的,这个问题很可能存在于查询本身。但我指的是这样一个事实,在我所看到的大多数情况下,查询已经变得臃肿和混乱,因为数据库开发人员需要使用奇怪而复杂的结构来弥补整个数据库中的次优表设计。因为OP指的是一个大的连接和透视操作,但没有包含实际的查询,所以我假设这里就是这种情况。另外,我认为您在执行计划中看到的假脱机程序操作与OP得到的错误没有任何关系。OP应该发布实际的查询,以便我们给出充分的答案,而不是我们所有人都猜测可能导致此问题的原因。虽然我感谢您对此的想法,但由于我工作的性质,我无法发布查询,但只能说明其在生成的动态列报告中的部分,因此它与基础表或设计无关。它是假脱机的,sad部分是不能关闭的:(它是假脱机的,sad部分是不能关闭的:(