国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server優化器特性-動態檢索

2024-08-31 00:54:48
字體:
來源:轉載
供稿:網友
SQL Server優化器特性-動態檢索

前段時間我寫的文章 SQL Server 隱式轉換引發的躺槍死鎖 中有的朋友評論回復說在SQL2008R2測試時并未出現死鎖,自己一測果然如此,因此給大家帶來的疑惑表示抱歉,這里我就解釋下其原因.

回顧:SQL2012中發生死鎖的原因已經向大家解釋了,因為隱式轉換造成的表掃描擴大了鎖規模.但在SQL2008R2中就未有同樣的現象出現,很顯然鎖規模沒有擴大,原因在于SQL Server的優化器為我們做了額外的事情-動態檢索

動態檢索:基于索引查找的優勢,SQL Server(部分版本)會嘗試將一些情形進行內部轉換,使得索引檢索的覆蓋面更廣,對其實重要補充.

還是之前那篇的實例,我們在SQL2008R2中看到的update的執行計劃如圖1-1

Code 生成測試數據

create table testlock(ID varchar(10) PRimary key clustered,col1 varchar(20),col2 char(200))go----------create test tabledeclare @i intset @i = 1while @i < 100begininsert into testlockselect right(replicate('0',10)+ cast(@i as varchar(10)),10),'aaa','fixchar'set @i = @i+1endgo----------generate test data
View Code

Code 死鎖語句

declare @ID nvarchar(10)begin tran select  top 1 @ID = ID from testlock with(updlock, rowlock, readpast)where col1 = 'aaa'order by id ascselect  @IDwaitfor delay '00:00:20'update testlock set col1 = 'bbb' where id = @IDcommit tran
View Code

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄山市| 迁西县| 嘉黎县| 铁力市| 安乡县| 博爱县| 庐江县| 肥东县| 绥宁县| 黄浦区| 长沙县| 金昌市| 阳曲县| 曲水县| 寻甸| 彩票| 旬邑县| 博兴县| 肥东县| 中方县| 太原市| 大田县| 喀什市| 慈溪市| 巴青县| 定日县| 三原县| 华宁县| 柞水县| 大港区| 福州市| 宁海县| 河西区| 木里| 疏附县| 光泽县| 石棉县| 三江| 抚松县| 洪江市| 广饶县|