0
我們需要在PostgreSQL中包含索引大小。我們試圖探索不同的選項postgreSQL中的索引維護
重建索引:這涉及到寫鎖表,這將影響應用程序查詢。
併發創建/刪除索引:這將不涉及具有以下順序的鎖定 同時刪除索引。 同時創建索引。這裏關注的是應用程序查詢運行時,這個操作將會很慢,並且在刪除之間 - 創建步驟查詢不會使用會降低性能的索引。
我們需要在不影響應用程序查詢的情況下實現索引大小的減小。
我們需要在PostgreSQL中包含索引大小。我們試圖探索不同的選項postgreSQL中的索引維護
重建索引:這涉及到寫鎖表,這將影響應用程序查詢。
併發創建/刪除索引:這將不涉及具有以下順序的鎖定 同時刪除索引。 同時創建索引。這裏關注的是應用程序查詢運行時,這個操作將會很慢,並且在刪除之間 - 創建步驟查詢不會使用會降低性能的索引。
我們需要在不影響應用程序查詢的情況下實現索引大小的減小。
您可以使用與當前名稱不同的名稱同時創建相同的索引,然後刪除當前並重命名新索引。
但我認爲保持索引尺寸至少是個好主意。索引中的某些空白空間通常對插入和更新操作的索引性能有益。如果它超出比例,你可能需要更積極的自動調整。
感謝您的回答。重命名的問題是它涉及「變更索引」,這又涉及鎖定(https://www.keithf4.com/cleaning-up-postgresql-bloat)。我們有一些大型的表格,其中索引和數據大小很重要,爲了解決這些不斷增長的規模,我們已經進行了積極的自動真空。然而,我們不清楚這是否有助於控制指數規模,如果是的話。 – user2350659
是的 - 它需要在表格上獨佔鎖定,但它比索引創建/重新索引鎖定的持續時間短得多,因此計劃更容易。你甚至可以保持2個相同的索引,並可以「交替重新索引」它們。這會對插入/更新性能產生負面影響,但是如果你負擔得起,你根本不需要專門鎖定表格。至於臃腫 - 你沒有告訴我們你在索引期間獲得了多少指數大小。如果它是50%,那麼我不會打擾。如果它是90%,那麼它可能是值得的。 – Tometzky