From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "Andreas Kretschmer *EXTERN*" <akretschmer(at)spamfence(dot)net>, <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: prepared statements und partitionierte tabellen ... |
Date: | 2012-06-25 07:50:06 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C208126ED7@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Andreas Kretschmer schrieb:
> hab a bissl a Problem:
>
> partitionierte Tabelle mit einer Spalte, nennen wir sie DATUM. Nach der
> tagesweise partitioniert. Pro Tag so 2-3 Mio Datesätze. Ist ein
> timestamp without timezone.
>
>
> Abfragen der Art: select * from foo where datum between ts1 and ts2;
>
> gehen super flott. (ts1 und t2 sind zu 99% immer am selben Tag, nur
> Sekunden auseinander)
>
>
> Aber: Kunde hat da einen $Mapper, der bastelt prepared Statements, und
> ballert diese ab. Performance grottig, da Planner da beim Planen keinen
> Plan (toll, ne?) von den Parametern hat. verständlich.
>
> Kunde sagt, er hat keinen Einfluß, ist immer prepared.
>
> Also hab ich eine stored proc geschrieben, die er aufruft. Innerhalb
> mache ich ein EXECUTE 'select ...', somit wollte ich erzwingen, daß der
> Plan bei Ausführung erstellt wird. Ausführungszeit gleichbleibend
> grottig, obwohl er doch einklich den Plan beim EXECUTE sich basteln
> müßte, mit aktuellen Parametern?
>
> Wo ist mein Hirnknoten?
Kann ich nicht sagen, aber ich würde mir einmal die Pläne anschauen.
Verwende auto_explain mit
auto_explain.log_nested_statements = on
und
auto_explain.log_min_duration = 0
Dann wirst Du die Ausführungspläne im Log sehen.
Vielleicht kann man dann mehr sagen.
Du verwendest eh nicht EXECUTE ... USING, oder?
Liebe Grüße,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Kretschmer - internet24 GmbH | 2012-06-25 23:04:30 | Re: prepared statements und partitionierte tabellen ... |
Previous Message | Andreas Kretschmer | 2012-06-24 06:49:59 | Re: prepared statements und partitionierte tabellen ... |