如何掌握SQL Server的鎖機(jī)制和鎖模式(3)_Mssql數(shù)據(jù)庫(kù)教程
教程Tag:暫無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
SQL Server 2000 具有多粒度鎖定,允許一個(gè)事務(wù)鎖定不同類型的的資源。為了使鎖定的成本減至最少,SQL Server 自動(dòng)將資源鎖定在適合任務(wù)的級(jí)別。鎖定在較小的粒度(例如行)可以增加并發(fā)但需要較大的開銷,因?yàn)槿绻i定了許多行,則需要控制更多的鎖。鎖定在較大的粒度(例如表)就并發(fā)而言是相當(dāng)昂貴的,因?yàn)殒i定整個(gè)表限制了其它事務(wù)對(duì)表中任意部分進(jìn)行訪問,但要求的開銷較低,因?yàn)樾枰S護(hù)的鎖較少。SQL Server 可以鎖定行、頁(yè)、擴(kuò)展盤區(qū)、表、庫(kù)等資源。
行是可以鎖定的最小空間, 行級(jí)鎖占用的數(shù)據(jù)資源最少,所以在事務(wù)的處理過程中,允許其他事務(wù)繼續(xù)操縱同一個(gè)表或者同一個(gè)頁(yè)的其他數(shù)據(jù),大大降低了其他事務(wù)等待處理的時(shí)間,提高了系統(tǒng)的并發(fā)性。
頁(yè)級(jí)鎖是指在事務(wù)的操縱過程中,無論事務(wù)處理數(shù)據(jù)的多少,每一次都鎖定一頁(yè),在這個(gè)頁(yè)上的數(shù)據(jù)不能被其他事務(wù)操縱。在SQL Server 7.0以前,使用的是頁(yè)級(jí)鎖。頁(yè)級(jí)鎖鎖定的資源比行級(jí)鎖鎖定的數(shù)據(jù)資源多。在頁(yè)級(jí)鎖中,即使是一個(gè)事務(wù)只操縱頁(yè)上的一行數(shù)據(jù),那么該頁(yè)上的其他數(shù)據(jù)行也不能被其他事務(wù)使用。因此,當(dāng)使用頁(yè)級(jí)鎖時(shí),會(huì)出現(xiàn)數(shù)據(jù)的浪費(fèi)現(xiàn)象,也就是說,在同一個(gè)頁(yè)上會(huì)出現(xiàn)數(shù)據(jù)被占用卻沒有使用的現(xiàn)象。在這種現(xiàn)象中,數(shù)據(jù)的浪費(fèi)最多不超過一個(gè)頁(yè)上的數(shù)據(jù)行。
表級(jí)鎖也是一個(gè)非常重要的鎖。表級(jí)鎖是指事務(wù)在操縱某一個(gè)表的數(shù)據(jù)時(shí),鎖定了這個(gè)數(shù)據(jù)所在的整個(gè)表,其他事務(wù)不能訪問該表中的其他數(shù)據(jù)。當(dāng)事務(wù)處理的數(shù)據(jù)量比較大時(shí),一般使用表級(jí)鎖。表級(jí)鎖的特點(diǎn)是使用比較少的系統(tǒng)資源,但是卻占用比較多的數(shù)據(jù)資源。與行級(jí)鎖和頁(yè)級(jí)鎖相比,表級(jí)鎖占用的系統(tǒng)資源例如內(nèi)存比較少,但是占用的數(shù)據(jù)資源卻是最大。在表級(jí)鎖時(shí),有可能出現(xiàn)數(shù)據(jù)的大量浪費(fèi)現(xiàn)象,因?yàn)楸砑?jí)鎖鎖定整個(gè)表,那么其他的事務(wù)都不能操縱表中的其他數(shù)據(jù)。
分享:詳解SQL嵌套子查詢一些初級(jí) 程序 員常常對(duì)SQL語(yǔ)法中的子查詢,由其對(duì)嵌套子查詢(子查詢中包含一個(gè)子查詢)的使用比較生疏,本文就此做一個(gè)基本講解,相信新手會(huì)有一定收獲。 使用子查詢的原則 1.一個(gè)子查詢必須放在圓括號(hào)中。 2.將子查詢放在比較條件的右邊以增加可讀性。 子
相關(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 無法查看數(shù)據(jù)庫(kù),提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(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查詢帶單引號(hào)及插入帶單引號(hào)字符串問題
- 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 沒有出來
- MySql中把一個(gè)表的數(shù)據(jù)插入到另一個(gè)表中的實(shí)現(xiàn)代碼
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫(kù)教程-如何掌握SQL Server的鎖機(jī)制和鎖模式(3)
。