Ich habe es schwer, Abfragen auf einem sehr großen Tisch zu optimieren. Grundsätzlich sind alle von dem sie filtern, um die Ergebnismenge durch das Datum:Optimieren von Datumsabfragen in Postgresql
SELECT FROM bigtable WHERE date >= '2015-01-01' AND date <= '2016-01-01' ORDER BY date desc;
das folgende Datum Index Hinzufügen macht eigentlich alles noch schlimmer:
CREATE INDEX CONCURRENTLY bigtable_date_index ON bigtable(date(date));
Das heißt, ohne den Index es etwa 1 s dauert laufen und damit dauert es etwa 10 Sekunden zu laufen. Aber mit größeren Entfernungen und Filtern ist es auch ohne diesen Index sehr langsam.
Ich benutze postgresql 9.4 und ich sehe, dass 9.5 hat einige Verbesserungen für die Sortierung, die helfen könnte?
Sollen BRIN-Indizes in diesem Fall helfen?
Bitte lesen Sie http://wiki.postgresql.org/wiki/SlowQueryQuestions dann [Bearbeiten] Ihre Frage und füge die fehlende Information hinzu. –
Und ein starker Hinweis zu ** nicht ** nennen Sie Ihre Spalten "Datum". – joop
das ist offensichtlich und Beispiel @joop – brauliobo