Sql server 选择SQL查询比插入临时表花费的时间要长得多

Sql server 选择SQL查询比插入临时表花费的时间要长得多,sql-server,Sql Server,我有一个查询,如果它以插入方式运行到一个空的临时表中,则运行大约需要1.5分钟,但是选择数据即使在20分钟后也不会完成。为什么选择要比插入花费这么长的时间?SQL Server会基于此制定不同的计划吗 两者的预计执行计划相同,实际执行计划与预计执行计划不同 更新:查询的插入版本似乎正在使用 并行性,而选择的版本不是。我的问题还是 为什么会这样 一旦一个查询计划达到一定的复杂程度,我通常比一个真正大的查询更有经验将一组较小的查询排序在一起。这使查询优化器能够评估较小的请求 高度跨国数据库中的锁定持

我有一个查询,如果它以插入方式运行到一个空的临时表中,则运行大约需要1.5分钟,但是选择数据即使在20分钟后也不会完成。为什么选择要比插入花费这么长的时间?SQL Server会基于此制定不同的计划吗

两者的预计执行计划相同,实际执行计划与预计执行计划不同

更新:查询的插入版本似乎正在使用 并行性,而选择的版本不是。我的问题还是 为什么会这样


一旦一个查询计划达到一定的复杂程度,我通常比一个真正大的查询更有经验将一组较小的查询排序在一起。这使查询优化器能够评估较小的请求

高度跨国数据库中的锁定持续时间也是一个重要的影响因素


听起来你们好像找到了类似的东西。SQL中有几个运算符会阻止并行性。

在我看来,这似乎是一个锁定问题。你是否执行了sp_who2以确保情况不是这样?不,我会试试。为什么select会导致锁定问题而不是insert?当您在表中插入数据时,数据不必通过网络发送到您的客户机。@W是的,但时间差远大于通过网络发送数据所需的时间。@MLeblanc这似乎不是锁定问题