Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak oszczędzać, obsługiwać łączną kwotę zamówienia w zamówieniu, schemacie orderDetails?

Tak, przechowywanie w bazie danych wstępnie obliczonych wartości na podstawie innych danych w bazie danych jest normalne. Ale niekoniecznie z powodu, o którym wspomniałeś. Nigdy nie miałem problemu z MAX_JOIN_SIZE .

Głównym i prawdopodobnie jedynym powodem przechowywania obliczonych wartości jest prędkość. Robisz to więc dla wartości, które nie zmieniają się tak często i które mogą być używane w zapytaniach, które wykorzystują dużo danych i dlatego mogą być zbyt wolne, jeśli ich nie używasz.

Na przykład:Jeśli chcesz poznać średnią wartość wszystkich zamówień w Twojej bazie danych, zapytanie będzie znacznie szybsze, jeśli masz już sumy zamówień.

Dlaczego i jak aktualizujesz wartości, zależy wyłącznie od Ciebie. Jednak musisz być konsekwentny . Jeśli użyjesz wzorca MVC, sensowne byłoby zintegrowanie go z kontrolerem. Lub w uproszczeniu:za każdym razem, gdy przesyłany jest formularz, który może zmienić jedną z wartości, z których obliczana jest wstępnie obliczona wartość, należy ją ponownie obliczyć.

Jest to wyraźna demonstracja, w której „normalizacja” nie jest całkowicie zachowana. To nie jest naprawdę ładne, ale czasami warto. Można oczywiście argumentować, że obliczona wartość reprezentuje „nowe” informacje, a zatem nie jest sprzeczna z „normalizacją”.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kopia zapasowa MySQL Amazon RDS

  2. Proste drzewo rekurencyjne w PHP / MySQL

  3. Jak debugować błędy, które nie mają komunikatu o błędzie?

  4. PHP PDO sprawdza, czy tabela o określonej nazwie istnieje w bazie danych mySQL

  5. Wstawianie danych do wielu tabel PHP MySQL