如何掌握SQL Server的鎖機(jī)制和鎖模式(4)_Mssql數(shù)據(jù)庫(kù)教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:揭秘操作日期的SQL語(yǔ)句大全1.顯示本月第一天 SELECTDATEADD(mm,DATEDIFF(mm,0,getdate()),0) selectconvert(datetime,convert(varchar(8),getdate(), 120)+’01’,120) 2.顯示本月最后一天 selectdateadd(day,-1,convert(datetime,convert (varchar(8),dateadd(month,1,getdate()),120
盤(pán)區(qū)鎖是一種特殊類(lèi)型的鎖,只能用在一些特殊的情況下。簇級(jí)鎖就是指事務(wù)占用一個(gè)盤(pán)區(qū),這個(gè)盤(pán)區(qū)不能同時(shí)被其他事務(wù)占用。例如在創(chuàng)建數(shù)據(jù)庫(kù)和創(chuàng)建表時(shí),系統(tǒng)分配物理空間時(shí)使用這種類(lèi)型的鎖。系統(tǒng)是按照盤(pán)區(qū)分配空間的。當(dāng)系統(tǒng)分配空間時(shí),使用盤(pán)區(qū)鎖,防止其他事務(wù)同時(shí)使用同一個(gè)盤(pán)區(qū)。當(dāng)系統(tǒng)完成分配空間之后,就不再使用這種類(lèi)型的盤(pán)區(qū)鎖。特別是,當(dāng)涉及到對(duì)數(shù)據(jù)操作的事務(wù)時(shí),不使用盤(pán)區(qū)鎖。
數(shù)據(jù)庫(kù)級(jí)鎖是指鎖定整個(gè)數(shù)據(jù)庫(kù),防止任何用戶(hù)或者事務(wù)對(duì)鎖定的數(shù)據(jù)庫(kù)進(jìn)行訪(fǎng)問(wèn)。數(shù)據(jù)庫(kù)級(jí)鎖是一種非常特殊的鎖,它只是用于數(shù)據(jù)庫(kù)的恢復(fù)操作過(guò)程中。這種等級(jí)的鎖是一種最高等級(jí)的鎖,因?yàn)樗刂普麄(gè)數(shù)據(jù)庫(kù)的操作。只要對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)操作,那么就需要設(shè)置數(shù)據(jù)庫(kù)為單用戶(hù)模式,這樣系統(tǒng)就能防止其他用戶(hù)對(duì)該數(shù)據(jù)庫(kù)進(jìn)行各種操作。
行級(jí)鎖是一種最優(yōu)鎖,因?yàn)樾屑?jí)鎖不可能出現(xiàn)數(shù)據(jù)既被占用又沒(méi)有使用的浪費(fèi)現(xiàn)象。但是,如果用戶(hù)事務(wù)中頻繁對(duì)某個(gè)表中的多條記錄操作,將導(dǎo)致對(duì)該表的許多記錄行都加上了行級(jí)鎖,數(shù)據(jù)庫(kù)系統(tǒng)中鎖的數(shù)目會(huì)急劇增加,這樣就加重了系統(tǒng)負(fù)荷,影響系統(tǒng)性能。因此,在SQL Server中,還支持鎖升級(jí)(lock escalation)。所謂鎖升級(jí)是指調(diào)整鎖的粒度,將多個(gè)低粒度的鎖替換成少數(shù)的更高粒度的鎖,以此來(lái)降低系統(tǒng)負(fù)荷。在SQL Server中當(dāng)一個(gè)事務(wù)中的鎖較多,達(dá)到鎖升級(jí)門(mén)限時(shí),系統(tǒng)自動(dòng)將行級(jí)鎖和頁(yè)面鎖升級(jí)為表級(jí)鎖。特別值得注意的是,在SQL Server中,鎖的升級(jí)門(mén)限以及鎖升級(jí)是由系統(tǒng)自動(dòng)來(lái)確定的,不需要用戶(hù)設(shè)置。
解析:Microsoft SQL Server中的鎖模式
在SQL Server數(shù)據(jù)庫(kù)中加鎖時(shí),除了可以對(duì)不同的資源加鎖,還可以使用不同程度的加鎖方式,即鎖有多種模式,SQL Server中鎖模式包括:
分享:詳解SQL嵌套子查詢(xún)一些初級(jí) 程序 員常常對(duì)SQL語(yǔ)法中的子查詢(xún),由其對(duì)嵌套子查詢(xún)(子查詢(xún)中包含一個(gè)子查詢(xún))的使用比較生疏,本文就此做一個(gè)基本講解,相信新手會(huì)有一定收獲。 使用子查詢(xún)的原則 1.一個(gè)子查詢(xún)必須放在圓括號(hào)中。 2.將子查詢(xún)放在比較條件的右邊以增加可讀性。 子
相關(guān)Mssql數(shù)據(jù)庫(kù)教程:
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類(lèi)似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 在SQL Server數(shù)據(jù)庫(kù)中批量導(dǎo)入數(shù)據(jù)的四種方法
- sql2008啟動(dòng)代理未將對(duì)象應(yīng)用到實(shí)例解決方案
- 如何檢測(cè)你的SQL Server是否有特洛伊木馬
- SQL Server 2005 數(shù)據(jù)庫(kù)鏡像簡(jiǎn)介
- SQL Server中, DateTime (日期)型操作的 SQL語(yǔ)法
- SQL Server各種日期計(jì)算方法之二
- 注意SQL Server視圖管理中的四個(gè)限制條件
- SQL Server的基本功能性語(yǔ)句介紹
- 解決WIN2003安裝sqlserver2000失敗的方法
- SQL2005 性能監(jiān)視器計(jì)數(shù)器錯(cuò)誤解決方法
猜你也喜歡看這些
- 詳解MYSQL的備份還原(PHP實(shí)現(xiàn))
- 關(guān)于Mysql查詢(xún)帶單引號(hào)及插入帶單引號(hào)字符串問(wèn)題
- MySQL筆記之?dāng)?shù)學(xué)函數(shù)詳解
- 關(guān)于MySQL數(shù)據(jù)遷移--data目錄直接替換注意事項(xiàng)的詳解
- 深入SQLite基本操作的總結(jié)詳解
- MySQL 5.6 如何更改安全的處理密碼探討
- 網(wǎng)站模板MySQL timestamp自動(dòng)更新時(shí)間
- linux下mysql提示mysql deamon failed to start錯(cuò)誤的解決方法
- SQL Server Management Studio 沒(méi)有出來(lái)
- MySql中把一個(gè)表的數(shù)據(jù)插入到另一個(gè)表中的實(shí)現(xiàn)代碼
- 相關(guān)鏈接:
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-如何掌握SQL Server的鎖機(jī)制和鎖模式(4)
。