我只對具有非 NULL 值的列進行部分索引過濾。如果在更新前后此值為 NULL 的行有更新,索引是否被觸及?
我有一個表,其中的行使用名為“已洗掉”的列軟洗掉,該列包含一個可為空的時間戳。我想創建一個查詢,通過搜索此列來硬洗掉一周前洗掉的所有行。該表具有非常高的更新吞吐量,但它們僅觸及已洗掉 = NULL 的“活動”行,并且我不想增加更多的鎖定或更新另一個索引的開銷。
uj5u.com熱心網友回復:
如果插入、更新或洗掉WHERE索引條件中排除的行(并且如果在更新的情況下也排除了新行版本),則不必修改索引,因此您不必付出那個代價。
索引無論如何都沒有鎖定,因此您不必擔心。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/313917.html
標籤:PostgreSQL
