Zeilen zählen

Ich würde gerne in einer großen Tabelle Zeilen zählen, auf die eine Bedingung zutrifft:

select count(*) from names where domain_id=13729;

die tabelle names hat rund 130.000.000 einträge, auf domain_id ist ein index angelegt, der query liefert nach einer minute rund liefert rund 20.000 ergebnisse.

nun will ich eigentlich nur wissen, ob mehr als 200 ergebnisse da sind oder nicht, und das sollte sehr viel schneller gehen.

select id from names where domain_id=13729 limit 201;

wäre eine alternative, wenn man die rows dann zählt.
aber geht das nicht auch eleganter?

thomas

Wie oft brauchst Du das? Falls oft: eine extra Tabelle mit den unique IDs und der aktuellen Anzahl, aktualisiert durch TRIGGER. Falls weniger oft: keine Idee.

Andreas

nein, trigger ist schlecht, die tabelle hat rund 3 inserts und 20 updates pro sekunde und eh schon den einen oder anderen trigger, das wäre mir zu teuer. ich brauch das nicht oft, alle paar minuten einmal.

dann also doch zeilen zählen, finde ich wenig elegant, ist aber schnell genug.

danke!

thomas