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

Таблици с обобщени данни

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

Има начини за емулиране на материализирани изгледи в MySQL с помощта на съхранени процедури, тригери и събития. Вие създавате съхранена процедура, която актуализира обобщените данни. Ако обобщените данни трябва да се актуализират при всяко вмъкване, можете да дефинирате тригер за извикване на процедурата. Ако данните трябва да се актуализират на всеки няколко часа, можете да дефинирате Събитие на MySQL планировчик или cron работа, за да го направите.

Има комбиниран подход, подобен на вашия вариант 3, който не зависи от датите на входните данни; представете си какво ще се случи, ако някои нови данни пристигнат твърде късно и не попаднат в агрегирането. (Може да нямате този проблем, не знам.) Бихте могли да дефинирате тригер, който вмъква нови данни в „задържане“ и процедурата да актуализира обобщената таблица само от изоставането.

Всички тези методи са описани подробно в тази статия:http://www.fromdual.com/ mysql-materialized-views




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-добрият начин за обработка на голям (UUID) като първичен ключ на MySQL таблица

  2. Ruby on Rails MySQL #08S01Лошо ръкостискане - понижаване на MySQL?

  3. SQL разделен ред, разделен със запетая

  4. Как да създадете Главна книга/Т-сметка с PHP Mysql

  5. MySQL извлича последния запис за група