請求的鎖我有一個由數百子表,都具有相同的架構繼承了一個空的父表。子表格對應於每天攝取的文件日期。這些表格的索引建立在time
列(等等)上並表示事件數據。沒有與文件日期t
子表中有time > t
檢查由out_of_shared_memory查詢
我查詢父表,卻得到了out_of_shared_memory錯誤,因爲鎖的數量超過了我的max_locks_per_transaction
*(max_connections
+ max_prepared_transactions
)限行。
有沒有辦法知道哪些子表和相關關係查詢想不運行它來鎖定?或者它只是出現在EXPLAIN (expr)
的所有關係?我限制time
不超過30天,我認爲這將減少鎖定子文件表的必要性,文件日期小於30天前。但是,我的查詢計劃演示了對所有子表'time
索引執行的索引掃描,因此我想知道在掃描(假定)返回沒有匹配行後是否確實鎖定了這些索引掃描。
編輯:我要指出,我通過亞馬遜RDS運行9.4。我知道我可以刪除我不再需要的舊的子表或增加max_locks_per_transaction,但想檢查是否有辦法讓我的查詢更聰明一些。