Pri vyvoji nad jinak obdivuhodnou databazi PostgreSQL doporucuju myslet na
fakt, ktery jsem objevil nedavno a ktery vas patrne tez neprijemne zasahne.
Mate-li tabulku se stovkami tisic a vice radku, bude prosta operace COUNT(*)
trvat dlouho (od stovek ms). Neni neobvykle, ze miliony radku se pocitaji
i v case radu sekundu.
Je to zpusobeno druhem implementace stroje a dalo by se rict, ze je to dan za
stabilitu konkurencniho zpracovani.
Myslete na to pri navrhu svych aplikaci. Obzvlaste pouzivate-li abstrahujici
ORM vrstvy.
Vice informaci a odkazy na podrobne popisy zpusobu, jak neprijemnost obejit:
http://wiki.postgresql.org/wiki/Slow_Counting
T.
|