Re: prepared statements und partitionierte tabellen ...

"Albe Laurenz" <[email protected]>
Newsgroups gmane.comp.db.postgresql.german
Message-ID <D960CB61B694CF459DCFB4B0128514C208126ED7@exadv11.host.magwien.gv.at>
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

-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.