Teoreticky může spouštěč udržovat souhrnnou tabulku přesně aktualizovanou, pokud:
- Spouštěč nedeaktivujete
- Souhrnnou tabulku neaktualizujete přímo
- Neprovádíte změny zdrojových dat prostřednictvím TRUNCATE TABLE (jak jste poznamenali)
Také:
- Souhrnnou tabulku musíte osadit správnou počáteční hodnotou
- Musíte použít InnoDB pro zdrojovou i souhrnnou tabulku, takže aktualizace jsou atomické
Udržování souhrnné tabulky je jedním příkladem denormalizace . Stejně jako u každé denormalizace hrozí anomálie dat. Jste odpovědní za udržování integrity dat; databáze je omezená v tom, jak moc vám to může pomoci.
Doporučuji čas od času zkontrolovat souhrnnou tabulku (např. hodinová může stačit), abyste se ujistili, že se nesynchronizovala, a pokud ano, opravte ji. Je na vás, abyste to udělali, protože databáze to za vás nemůže zkontrolovat.