From: | Andreas Kretschmer <akretschmer(at)internet24(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Fehlenden Index finden |
Date: | 2011-01-11 13:36:48 |
Message-ID: | 4D2C5CF0.2080907@internet24.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Am 11.01.2011 12:25, schrieb Thomas Guettler:
> Hallo,
>
> ich bin auf der Suche nach Tabellen, die keinen Index haben.
Das ist per se nix schlechtes.
>
> Bei kleinen Tabellen wird der Index nicht verwendet. Ist modwork_belegart mit 49152 so eine Tabelle?
Ob ein Index verwendet wird, hängt von der Abfrage ab. Nochmals: ein
Seq-Scan ist per se nix schlimmes.
>
> Wie könnte ich die Stelle in meinem Code finden, die bei dieser Tabelle ein seq. Scan macht? Gibt
Du solltest lang laufende Abfragen mitloggen (log_min_duration passend
setzen). Dann kannst Du Dir solche Abfragen anschauen, und zwar mit
explain analyse <your query>. Je nach Abfrage können Indexe helfen,
müssen aber nicht. Dein Versuch, fehlende Indexe automatisiert zu
finden, ist, sorry, naiv. Manchmal helfen z.B. funktionale oder
konditionale Indexe. Diese wirst Du nicht automatisiert finden.
Nochmal: Indexe müssen zur Abfrage passen.
> es die Möglichkeit, das Postgres die Anfrage abbricht, sobald auf einer bestimmten Tabelle
> ein seq. Scan durchgeführt wird?
Nein. Du kannst seq-scans disablen, aber dadurch bekommen diese auch nur
eine sehr hohe Kostenschätzung. Ist Dir das Kostenmodell bekannt?
Andreas
--
Andreas Kretschmer
http://internet24.de
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Guettler | 2011-01-11 14:28:28 | Re: Fehlenden Index finden |
Previous Message | Thomas Guettler | 2011-01-11 11:25:32 | Fehlenden Index finden |