Zwykle w ogóle nie musisz się o to martwić.
Jednakże, jeśli doszło do masowego usunięcia lub aktualizacji, lub jeśli tempo trwałych zmian było tak wysokie, że automatyczne odkurzanie nie mogło nadążyć, możesz skończyć z mocno nadętym indeksem.
Narzędzie do ustalenia, że identyfikator pgstattuple
rozszerzenie:
CREATE EXTENSION pgstattuple;
Następnie możesz zbadać rozdęcie indeksu w następujący sposób:
SELECT * FROM pgstatindex('spatial_ref_sys_pkey');
-[ RECORD 1 ]------+-------
version | 2
tree_level | 1
index_size | 196608
root_block_no | 3
internal_pages | 1
leaf_pages | 22
empty_pages | 0
deleted_pages | 0
avg_leaf_density | 64.48
leaf_fragmentation | 13.64
Ten wskaźnik jest w doskonałej formie (nigdy nie używany):ma tylko 14% wzdęcia.
Pamiętaj, że indeksy są domyślnie tworzone za pomocą fillfactor
z 90, czyli bloki indeksu nie są wypełniane do więcej niż 90% przez INSERT
.
Trudno powiedzieć, kiedy indeks jest rozdęty, ale jeśli leaf_fragmentation
przekracza 50-60, to nie jest takie ładne.
Aby zreorganizować indeks, użyj REINDEX
.