sql >> Databáze >  >> RDS >> Mysql

Používáte spouštěče jako alternativu agregační funkce SQL?

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.




  1. PHP kód pro vložení hodnoty zaškrtávacího políčka do konkrétního sloupce na mysql s výběrem formuláře

  2. Hledání omezení primárního klíče za běhu v SQL Server 2005

  3. MySQL průměr každé 4 řádky

  4. Která odvětví nejvíce těží z přístupu?