Hallo zusammen,
ich habe eine Diskussion darüber ob und wie man ein SELECT COUNT(*) einer Tabelle mit etwa 10 Mio. rows optimieren könnte.
Die Abfrage braucht etwa 2 Sekunden und wird etwa 600-700 mal täglich ausgeführt.
Die Idee ist, den Wert von count(*) in eine Hilfstabelle zu schreiben.
Beim anlegen neuer ROWS oder löschen bestehender ROWS wird mit einem TRIGGER der Wert in der Hilfstabelle erhöht oder entsprechend gesenkt.
Könnte es beim insert neuer ROWS zu Leistungseinbußen durch den TRIGGER kommen? oder ist die Idee grundsätzlich totaler Blödsinn?
Zudem haben wir ein count(*) mit einer WHERE FIND_IN_SET().. könnte man die auch mit einem ähnlichen Trigger optimieren?
Freue mich auf Eure Meinung.
LG
ich habe eine Diskussion darüber ob und wie man ein SELECT COUNT(*) einer Tabelle mit etwa 10 Mio. rows optimieren könnte.
Die Abfrage braucht etwa 2 Sekunden und wird etwa 600-700 mal täglich ausgeführt.
Die Idee ist, den Wert von count(*) in eine Hilfstabelle zu schreiben.
Beim anlegen neuer ROWS oder löschen bestehender ROWS wird mit einem TRIGGER der Wert in der Hilfstabelle erhöht oder entsprechend gesenkt.
Könnte es beim insert neuer ROWS zu Leistungseinbußen durch den TRIGGER kommen? oder ist die Idee grundsätzlich totaler Blödsinn?
Zudem haben wir ein count(*) mit einer WHERE FIND_IN_SET().. könnte man die auch mit einem ähnlichen Trigger optimieren?
SQL:
SELECT count(*) FROM Tabelle WHERE FIND_IN_SET('string', spalte)
Freue mich auf Eure Meinung.
LG
Zuletzt bearbeitet: