read committed isolation
下缺少行眾所周知,read committed isolation容易出現(xiàn)不同的異常。我讀了保羅·懷特關(guān)于隔離級(jí)別的系列文章(與討論相關(guān)的是:https://sqlperformance.com/2014/
解答動(dòng)態(tài)
在SELECT查詢開(kāi)始之前提交的行可能會(huì)丟失的場(chǎng)景是在更新索引鍵值時(shí)。想想這個(gè)查詢:
選擇*從dbo.你的桌子; 執(zhí)行計(jì)劃可能會(huì)執(zhí)行有序群集掃描以返回所有列。如果在掃描期間更新并提交了鍵值,并且新值小于更新時(shí)的有序掃描點(diǎn),則不會(huì)返回該行。
查詢:
選擇*從dbo.你的桌子其中id=@id; 如果id是主鍵并且使用單例查找,則不會(huì)丟失該行。但是,在非唯一索引的查找/掃描的情況下,鍵值在掃描期間被更新和提交,行可能會(huì)返回,也可能不會(huì)返回,這取決于更新時(shí)間所在的掃描點(diǎn)。- End
免責(zé)聲明:
本頁(yè)內(nèi)容僅代表作者本人意見(jiàn),若因此產(chǎn)生任何糾紛由作者本人負(fù)責(zé),概與琴島網(wǎng)公司無(wú)關(guān)。本頁(yè)內(nèi)容僅供參考,請(qǐng)您根據(jù)自身實(shí)際情況謹(jǐn)慎操作。尤其涉及您或第三方利益等事項(xiàng),請(qǐng)咨詢專業(yè)人士處理。