日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server强制使用特定索引 、并行度、锁

發(fā)布時間:2025/3/15 数据库 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server强制使用特定索引 、并行度、锁 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQL Server強制使用特定索引 、并行度

修改或刪除數(shù)據(jù)前先備份,先備份,先備份(重要事情說三遍)

很多時候你或許為了測試、或許為了規(guī)避并發(fā)給你SQL帶來的一些問題,常常需要強制指定目標sql選擇某個索引或并行度去執(zhí)行,今天給大家分享一下SQL的強制行為11

1、強制使用某個索引

select id,name from A where id=2 with INDEX(idx_name)

2、強制使用某個并行度

select id,name from A where id=2 with option(MAXDOP=1)

3、強制不加鎖

--允許臟讀

select id,name from A with(nolock)

--跳過鎖定行

select id,name from A with(readpast)

--

4、強制保持表級鎖

--別人可以讀,但是不能插入、更新、刪除

select id,name from A with(holdlock)

--別人什么都不能做,包括讀

select id,name from A with(tablock)

?

以上,在一些特殊的場景下或許會能夠幫助到你!

?

補充:

鎖定提示???????????????????????????????? 描述?
HOLDLOCK??????? 將共享鎖保留到事務完成,而不是在相應的表、行或數(shù)據(jù)頁不再需要時就立即釋放鎖。HOLDLOCK??????? 等同于??????? SERIALIZABLE。???????
NOLOCK??????? 不要發(fā)出共享鎖,并且不要提供排它鎖。當此選項生效時,可能會讀取未提交的事務或一組在讀取中間回滾的頁面。有可能發(fā)生臟讀。僅應用于SELECT語句。???????
PAGLOCK??????? 在通常使用單個表鎖的地方采用頁鎖。???????
READCOMMITTED??????? 用與運行在提交讀隔離級別的事務相同的鎖語義執(zhí)行掃描。默認情況下,SQLServer在此隔離級別上操作。???????
READPAST??????? 跳過鎖定行。此選項導致事務跳過由其它事務鎖定的行(這些行平常會顯示在結(jié)果集內(nèi)),而不是阻塞該事務,使其等待其它事務釋放在這些行上的鎖。READPAST鎖提示僅適用于運行在提交讀隔離級別的事務,并且只在行級鎖之后讀取。僅用于SELECT語句。???????
READUNCOMMITTED??????? 等同于NOLOCK。???????
REPEATABLEREAD??????? 用與運行在可重復讀隔離級別的事務相同的鎖語義執(zhí)行掃描。???????
ROWLOCK??????? 使用行級鎖,而不使用粒度更粗的頁級鎖和表級鎖。???????
SERIALIZABLE??????? 用與運行在可串行讀隔離級別的事務相同的鎖語義執(zhí)行掃描。等同于HOLDLOCK。???????
TABLOCK??????? 使用表鎖代替粒度更細的行級鎖或頁級鎖。在語句結(jié)束前,SQL Server一直持有該鎖。但是,如果同時指定HOLDLOCK,那么在事務結(jié)束之前,鎖將被一直持有。???????
TABLOCKX??????? 使用表的排它鎖。該鎖可以防止其它事務讀取或更新表,并在語句或事務結(jié)束前一直持有。???????
UPDLOCK??????? 讀取表時使用更新鎖,而不使用共享鎖,并將鎖一直保留到語句或事務的結(jié)束。UPDLOCK 的優(yōu)點是允許您讀取數(shù)據(jù)(不阻塞其它事務)并在以后更新數(shù)據(jù),同時確保自從上次讀取數(shù)據(jù)后數(shù)據(jù)沒有被更改。???????
XLOCK??????? 使用排它鎖并一直保持到由語句處理的所有數(shù)據(jù)上的事務結(jié)束時。可以使用PAGLOCK或TABLOCK 指定該鎖,這種情況下排它鎖適用于適當級別的粒度

?

轉(zhuǎn)載于:https://www.cnblogs.com/syforacle/p/7891800.html

總結(jié)

以上是生活随笔為你收集整理的SQL Server强制使用特定索引 、并行度、锁的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。