From: | Thomas Guettler <hv(at)tbz-pariv(dot)de> |
---|---|
To: | PGSQL Allgemein <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Fehlenden Index finden |
Date: | 2011-01-11 11:25:32 |
Message-ID: | 4D2C3E2C.5010305@tbz-pariv.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
ich bin auf der Suche nach Tabellen, die keinen Index haben.
Dafür habe ich mir folgendes Statement erstellt:
select
relname, seq_scan-idx_scan as too_much_seq, case when seq_scan-idx_scan>0 then 'Missing Index?' else 'OK' END,
pg_relation_size(relname) as rel_size, seq_scan, idx_scan from pg_stat_all_tables
where schemaname='public' and pg_relation_size(relname)>40000
order by too_much_seq desc;
relname | too_much_seq | case | rel_size | seq_scan | idx_scan
------------------------------------+--------------+----------------+-----------+----------+----------
modwork_belegart | 29879747 | Missing Index? | 49152 | 31255169 | 1375422
modwork_emailweiterleitungsadresse | 1395 | Missing Index? | 49152 | 1560 | 165
django_admin_log | 327 | Missing Index? | 114688 | 708 | 381
modwork_notizen_notiz | -138 | OK | 188416 | 876 | 1014
modwork_rdiforms_onlineformular | -1837 | OK | 40960 | 7574 | 9411
modwork_notizen_vertrag | -5366 | OK | 753664 | 1461 | 6827
Bei kleinen Tabellen wird der Index nicht verwendet. Ist modwork_belegart mit 49152 so eine Tabelle?
Wie könnte ich die Stelle in meinem Code finden, die bei dieser Tabelle ein seq. Scan macht? Gibt
es die Möglichkeit, das Postgres die Anfrage abbricht, sobald auf einer bestimmten Tabelle
ein seq. Scan durchgeführt wird?
Das Statement ist von hier inspiriert:
http://www.postgresonline.com/journal/index.php?/archives/65-How-to-determine-which-tables-are-missing-indexes.html
Gruß,
Thomas
--
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Kretschmer | 2011-01-11 13:36:48 | Re: Fehlenden Index finden |
Previous Message | Andreas 'ads' Scherbaum | 2011-01-10 21:23:52 | == Wöchentlicher PostgreSQL Newsletter - 09. Januar 2011 == |