我目前正在运行以下语句
select * into adhoc..san_savedi from dps_san..savedi_record
这需要很长时间,我想看看它走了多远,所以我运行了这个:
select count(*) from adhoc..san_savedi with (nolock)
这并没有及时返回任何东西,所以我这样做了:
select top 1 * from adhoc..san_savedi with (nolock)
即使这似乎无限期地运行。如果有数百万条记录计数(*)可能需要很长时间,我可以理解,但我不明白为什么考虑到我指定了 nolock,选择前 1 条记录不会立即返回。
以完全公开的名义,dps_san 是一个通过链接服务器从 odbc 连接中提取的视图。我不认为这会影响为什么我不能返回第一行,而只是把它扔在那里以防我错了。
所以我想知道是什么阻止了该语句的运行?
编辑:
正如我上面提到的,是的 dps_san..savedi_record 是一个视图。这是它的作用:
select * from DPS_SAN..root.SAVEDI_RECORD
它只不过是一个别名,没有分组/排序/等,所以我认为问题不在于这里,但如果我错了,请赐教。