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°

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an