Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 2008 r2 如何在不阻塞的情况下执行TSQL select?_Sql Server 2008 R2 - Fatal编程技术网

Sql server 2008 r2 如何在不阻塞的情况下执行TSQL select?

Sql server 2008 r2 如何在不阻塞的情况下执行TSQL select?,sql-server-2008-r2,Sql Server 2008 R2,我有一个表,它偶尔会批量插入大量(300k+)行 但是,如果在此插入期间从中读取表,则插入和选择超时 阻止所有选择允许插入正常运行 有没有一种方法可以让selects以不阻止inserts的方式发生 我用readuncommitted进行选择,但这似乎还不够 我不在乎读取是否100%准确(关于插入的数据),如果需要的话,它可能会漏掉行,我只需要选择快速且不打乱插入。这可能吗?NOLOCK- 这有用吗 SELECT * FROM 'TABLE NAME' WITH (NOLOCK) NOLOCK

我有一个表,它偶尔会批量插入大量(300k+)行

但是,如果在此插入期间从中读取表,则插入和选择超时

阻止所有选择允许插入正常运行

有没有一种方法可以让
select
s以不阻止
insert
s的方式发生

我用
readuncommitted
进行选择,但这似乎还不够

我不在乎读取是否100%准确(关于插入的数据),如果需要的话,它可能会漏掉行,我只需要选择快速且不打乱插入。这可能吗?

NOLOCK-

这有用吗

SELECT * FROM 'TABLE NAME' WITH (NOLOCK)

NOLOCK和READ UNCOMMITED不是一样的吗?应该是一样的,我使用它将事务级别设置为READ UNCOMMITED。当我必须阅读prod时,我会使用它,但是,我们也会使用快照隔离。