optimalizace triggeru (Postgres, ...)

Karel Zak zakkr na zf.jcu.cz
Pátek Prosinec 15 15:41:59 CET 2000


On Fri, 15 Dec 2000, Robert Vojta wrote:

> #  IMHO to napsat v C, rychleji to nepujde. Nekde ve strasich LN, jsem o tom
> # psal clanek. Neni to moc tezke pokud pochopite datove typy.
> 
>   Do C to prepisu, v tom bych problem nevidel. Takze vas uz nic jineho
> (po skouknuti triggeru) nenapada co s tim. Abych pravdu rekl, mne nenapada
> vubec nic. Samozrejme indexy na ty tabulky jsou vytvorene a indexuje se
> podle - line, counterstamp, line & counterstamp. Problem je, ze to co
> pet minut bude generovat zhruba tech 1000 grafu z tech vsech udaju
> (peti min, hodinove, denni, mesicni), takze ta databaze bude vcelku zatizena.
>   Koukal sem, ze jste neco do Postgresu delal, nejaka finticka jak to urychlit
> primo v Postgresu asi neni, co?

 Neco je, pokud si prohlednete SPI rozhrani, jsou tam funkce SPI_prepare()
SPI_saveplan() a SPI_execp(). Finta je, ze query se parsuje jen pri prvnim
pouziti a pak se pouziva uz jen SPI_execp().

 Ten plan (naparsovana query) pochopitelne ma trvani jen pokud neukoncite
spojeni (a backend). Ja pro 7.1 budu mit pripraven patch (mozna bude v
contribu), ktery by mel umoznovat sdilet ty plany, takze neni nutne parsovat
je pokazde connectu. 

					Karel



Další informace o konferenci Test