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

Je ukládání počtů databázových záznamů nadbytečné?

Abych odpověděl na titulní otázku. Ano, je to nadbytečné, ale zda byste to měli udělat, závisí na vaší situaci.

Pokud nemáte známé problémy s výkonem, počítejte počty a součty v aplikaci za běhu a neukládejte je. To znamená, že neukládejte vypočítané hodnoty, pokud nemáte jinou možnost.

Ve většině situací se k tomu nemusíte uchylovat a neměli byste.

Pokud musíte uložit vypočítané hodnoty, postupujte takto:

  • Neudržujte jej v aktuálním stavu jeho zvyšováním. Při každé aktualizaci přepočítejte počet/součet ze všech dat.
  • Pokud nemáte mnoho aktualizací, vložte kód do spouštěče aktualizací, aby byl počet/součty aktuální.
  • Problém s redundantními databázemi je v tom, že když čísla nesouhlasí, nejste si jisti, která je směrodatná. Přidejte do dokumentace poznámku, že zdrojová data jsou směrodatným zdrojem, pokud nesouhlasí a lze je přepsat.


  1. Jak mohu používat Psycopg2's LoggingConnection?

  2. Jak přepsat IS DISTINCT FROM a IS NOT DISTINCT FROM?

  3. Rekurzivní subdotazování s řazením

  4. Chyba SQL 1630:Funkce SUBSTRING neexistuje.. co?