METABYTE
Inapoi la articole

Postgres îți spune că interogarea e lentă, dar nu care index e degeaba

Află cum să identifici indexurile nefolosite în PostgreSQL și să eliberezi spațiu pe disk.

9 mai 20261 min de citit
Postgres îți spune că interogarea e lentă, dar nu care index e degeaba

Dezvoltatorii adesea creează indexuri „pentru orice eventualitate” – ca o umbrelă de rezervă pe care o cari ani de zile, deși plouă o dată la cinci ani. Postgres îți raportează cinstit că o interogare a fost lentă, dar nu-ți spune care index anume zace nefolosit. Și fiecare index în plus înseamnă gigaocteți în plus pe disk și încetiniri la inserarea datelor.

Autorul a găsit soluția: un analizor de doar trei fișiere. Prima rulare a arătat că 20 din 51 de indexuri nu au fost folosite niciodată – 78% din spațiul pe disk alocat indexurilor era irosit. O durere familiară, când crezi că „indexul va accelera totul”, dar de fapt doar ocupă loc.

Analizorul nu necesită magie – doar statistici din pg_stat_user_indexes și puțin SQL. El arată care indexuri chiar funcționează și care pot fi șterse fără remușcări. Ideal pentru cei care vor să facă ordine în bază fără să angajeze un DBA.

Comentariul studioului METABYTE: Și nouă ne place ordinea în baze – fiecare index nefolosit e ca o dependență inutilă în package.json: nu deranjează, dar mai bine scapi de ea înainte ca proiectul să devină cât o navă spațială.

URMATORUL PAS

Ti-a placut abordarea?

Aplicam aceleasi principii in proiectele clientilor: AI, automatizari, produse care nu se sting dupa lansare.