Holger Dietze <[email protected]> wrote: > Hallo, > > [email protected] schrieb: > > Zitat von Thomas Schmidt <[email protected]>: > > > > > > Zweites kostet es 25% CPU, wenn ich jede Sekunde das SELECT count(*) > > > ausführe. Egal, ob sich an der Tabelle überhaupt etwas ändert. Diesen > > > > Ich nix MySQL, aber unter PG würde dies auch dauern, da es einen > > Seq-Scan erfordert. > > Eigentlich sollte es auch ein Full-Scan ueber einen Index tun, in dem > nachweislich alle interessierenden Datensaetze enthalten sind (z.B. PK-Index). > Ist natuerlich eine Frage der Spitzfindigkeit des Optimizers.
Dummerweise hat der Index aber keine Informationen darüber, welche Datensätze in welcher Transaction sichtbar sind ... > > > Normalerweise braucht man dies nicht, also die exakte Anzahl. Oft > > reicht eine grobe Schätzung > > der Gesamtanzahl, sie gilt ja streng genommen auch nur für die > > konkrete TX, in der Du das abfragst. > > Also, entweder guggst Du in den Statistiken nach einer Schätzung (in > > PG wäre dies pg_class.reltuples), > > die Statistik halbwegs aktuell zu halten, kostet ein ANALYZE und damit > fast einen Full Scan (je nach Genauigkeit). ACK. > > > oder aber führst über einen TRIGGER einen exakten Counter. > > TRIGGER: > Bei sowas also Trigger auf INSERT und DELETE. Man muss sich > dann dessen bewusst sein, dass man Redundanzen schafft, die einem > in manchen Faellen wieder auf die Fuesse fallen. Da geb ich Dir Recht. Btw.: lange nix mehr von Dir gehört ... Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
signature.asc
Description: Digital signature
_______________________________________________ Lug-dd maillist - [email protected] https://ssl.schlittermann.de/mailman/listinfo/lug-dd
