簡體   English   中英

嵌套 select 的“FOR SHARE”會怎樣?

[英]What happens for "FOR SHARE" with nested select?

比如說,我有一個嵌套的 select:

WITH candidate AS (
   select * table_a where flag = 'a'
)
select * from candidate where other_flag = 'b' for share

這 SQL 間接來自selecttable_afor share 在這種情況下,是否會在table_a返回的行上獲取行鎖?

該查詢不應獲取任何行鎖,因為candidate不是基表。 但是你可以看到你自己:跑

EXPLAIN WITH (...) SELECT ...

並查看執行計划中是否存在LockRows節點。

如果要鎖定行,則必須在子查詢中使用FOR SHARE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM