一、rowlock的使用
1、rowlock行級鎖確保,在使用者取得被更新的行,到該行進行更新,這段時間內不被其它使用者所修改。因而行級鎖即可保證資料的一致性,又能提高資料操作的併發性。
2、rowlock告訴sql server只使用行級鎖,rowlock語法可以使用在select,update和delete語句中。
3、例如select語句中
a 連線中執行
settransaction
isolation
level
repeatable
read
begin
tran
select
*from
tablename
with
(rowlock,updlock)
whereid=
3
waitfor
delay
'00:00:05
'commit
tran
b連線中如果執行
update
tablename
setcolname='
10'whereid=
3
--則要等待5秒
update
tablename
setcolname='
10'where
id <>
3
--可立即執行
二、sql server中使用rowlock需要注意的地方
1、如果你錯誤地使用在過多行上,資料庫並不會聰明到自動將行級鎖公升級到頁面鎖,伺服器也會因為行級鎖的開銷而消耗大量的記憶體和cpu,直至無法響應。
2、select 語句中,rowlock在不使用組合的情況下是沒有意義的,with(rowlock,updlock) 這樣的組合才成立,查詢出來的資料使用rowlock來鎖定,當資料被update的時候,鎖將被釋放
sqlserver 中Cube,rollup的使用
一 select from cj 1張三語文80.0 2張三數學90.0 3張三物理85.0 4李四語文85.0 5李四數學92.0 6李四物理82.0 二 select name,sum result from cj group by name 李四259.0 張三255.0 三 select n...
sql server 中語法校驗
在今天的培訓考試過程中,我提出乙個擴充套件題,要求對提交的sql進行語法校驗.其實這個題很簡單,根本不需要用正規表示式去做語法分析,可以直接使用sql server自帶的功能.不多說,上 alter proc sp checksql sql varchar 8000 error varchar ma...
SQL Server中的查詢
本博文簡單介紹一下sql server中常用的幾類查詢及相關使用的方法。一 executescalar方法獲取單一值 executescalar方法是sqlcommand類的方法之一,執行查詢,並返回查詢所返回的結果集中的第一行第一列。csharp view plain copy print cla...