數(shù)據(jù)庫鎖的概念,類型,排鎖語句:
鎖是數(shù)據(jù)庫中的一個(gè)非常重要的概念,它主要用于多用戶環(huán)境下保證數(shù)據(jù)庫完整性和一致性。 我們知道,多個(gè)用戶能夠同時(shí)操縱同一個(gè)數(shù)據(jù)庫中的數(shù)據(jù),會(huì)發(fā)生數(shù)據(jù)不一致現(xiàn)象。即如果沒有鎖定且多個(gè)用戶同時(shí)訪問一個(gè)數(shù)據(jù)庫,則當(dāng)他們的事務(wù)同時(shí)使用相同的數(shù)據(jù)時(shí)可能會(huì)發(fā)生問題。這些問題包括:丟失更新、臟讀、不可重復(fù)讀和幻覺讀。
找出表A中M字段大于500,Y(日期)早于當(dāng)前數(shù)據(jù)庫一天,X字段取值不重復(fù)的記錄:
select * from A where x in
(select x from A group by x having count(x)=1)
and m >500 and y < getdate()-1;
從表A中統(tǒng)計(jì)X字段的不同取值數(shù)并只把記錄數(shù)多于5的找出:
select * from A where x in (select x from A group by x having count(x)>5)
設(shè)表B結(jié)構(gòu)與表A相同,將B中n字段值大于500的記錄插入A :
insert into?A select * from?B where n>500
對(duì)表A,建立和刪除M,N字段聯(lián)合唯一索引:
CREATE UNIQUE? INDEX myclumn_index ON A(x,y)
DROP INDEX A.myclumn_index?
?注意:當(dāng)你的內(nèi)存容量或硬盤空間不足時(shí),也許你不想給一個(gè)表增加索引。對(duì)于包含索引的數(shù)據(jù)庫,SQL Sever需要一個(gè)可觀的額外空間。例如,要建立一個(gè)聚簇索引,需要大約1.2倍于數(shù)據(jù)大小的空間。要看一看一個(gè)表的索引在數(shù)據(jù)庫中所占的空間大小,你可以使用系統(tǒng)存儲(chǔ)過程sp_spaceused,對(duì)象名指定為被索引的表名。