Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да спестявам, обработвам общата сума на поръчката в схема за поръчки, подробности за поръчките?

Да, нормално е да се съхраняват предварително изчислени стойности, базирани на други данни в базата данни, в база данни. Но не непременно поради причината, която споменавате. Никога не съм имал проблем с MAX_JOIN_SIZE .

Основната и вероятно единствена причина за съхраняване на изчислените стойности е скоростта. Така че го правите за стойности, които не се променят толкова често и които може да се използват в заявки, които използват много данни и следователно може да са твърде бавни, ако не ги използвате.

Например:Ако искате да знаете средната стойност на всички поръчки във вашата база данни, заявката ще бъде много по-бърза, ако вече имате общите суми на поръчките.

Защо и как да актуализирате стойностите зависи изцяло от вас. Въпреки това трябва да сте последователни в това . Ако използвате модела MVC, би имало смисъл да го интегрирате в контролера. Или казано по-просто:Всеки път, когато бъде изпратен формуляр, който може да промени една от стойностите, от които се изчислява предварително изчислената стойност, трябва да го изчислите отново.

Това е ясна демонстрация, когато „нормализирането“ не се поддържа напълно. Не е наистина красиво, но понякога си заслужава. Можете, разбира се, да спорите, че изчислената стойност представлява „нова“ информация и следователно не нарушава „нормализирането“.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Drupal sql условни клаузи за множество таблици?

  2. Правилен начин за съхраняване на часова зона в база данни?

  3. Как да запълним празнините в датата в MySQL?

  4. Как да получите общия брой намерени редове, без да вземете предвид ограничението в PDO?

  5. Качете няколко файла в PHP и ВМЕСЕТЕ път към MySQL