


使用SQL Server查詢語句中的鎖
WITH NOLOCK 除了本身不鎖表(不加任何鎖) 也不會受其他的已存在的鎖影響,鎖住的行數據也照樣讀
個人認為這句話說得很清楚明了,一句話就能說明白的事
不過好奇怪的是程序員經常用這個語句竟然也不去試一下
這里順便總結一下 其他的 SQLSERVER 中的 with鎖級別
WITH NOLOCK:無鎖
WITH HOLDLOCK:掛一個保持鎖
WITH UPDLOCK:掛一個更新鎖
WITH XLOCK:掛一個排他鎖
需要注意的是 with nolock 是不能用于update,delete insert 這種更新語句的,說繞了。簡單的說 with nolock 只能用于select
例如:update dbo.test with(NOLOCK) set username='wokofo' --這樣的語句是錯誤的
彈回:INSERT、UPDATE、DELETE 或 MERGE 語句的目標表不允許使用 NOLOCK 和 READUNCOMMITTED 鎖提示。
實際使用:
select top 10 * from dbo.test with(NOLOCK) select top 10 * from dbo.test with(HOLDLOCK) select top 10 * from dbo.test with(XLOCK) select top 10 * from dbo.test with(UPDLOCK) update dbo.test with(HOLDLOCK) set username='wokofo' update dbo.test with(XLOCK) set username='wokofo' update dbo.test with(UPDLOCK) set username='wokofo'
關鍵字:SQL Server、查詢、語句、鎖
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解