1. 用法不同
- with(nolock) 是從sql server 2005版本開始支持的語法
- nolock 是較老的語法,需要寫在表名之后,例如:select * from table1 nolock
2. 作用范圍不同
- with(nolock) 只對其出現(xiàn)的表生效。
- nolock 對從句中所有表都生效。
3. 并發(fā)性不同
- with(nolock) 在讀取數(shù)據(jù)時不會申請共享鎖,但會申請schema stability鎖。
- nolock 在讀取數(shù)據(jù)時既不申請共享鎖,也不申請schema stability鎖。
4. 讀到的數(shù)據(jù)不同
- with(nolock) 可以讀到未提交的數(shù)據(jù)變更,但不會讀到數(shù)據(jù)結(jié)構(gòu)的變更。
- nolock 可以讀到任意未提交的數(shù)據(jù)變更,包括數(shù)據(jù)結(jié)構(gòu)的變更。
5. 性能不同
- with(nolock) 的并發(fā)性更好,通常性能優(yōu)于nolock。
- nolock 的并發(fā)性較差,在高并發(fā)時可能產(chǎn)生大量死鎖。文章來源:http://www.zghlxwxcb.cn/news/detail-735029.html
總體來說,with(nolock) 的用法更標(biāo)準(zhǔn),并發(fā)性能也更好,建議優(yōu)先使用with(nolock)。nolock應(yīng)謹(jǐn)慎使用,可能引發(fā)數(shù)據(jù)不一致問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-735029.html
到了這里,關(guān)于Sqlserver 中 with(nolock) 和 nolock 的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!