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

Най-добри практики с исторически данни в MySQL база данни

Често срещана грешка е да се тревожите за "големи" маси и производителност. Ако можете да използвате индекси за достъп до вашите данни, всъщност няма значение дали имате 1000 от 1000000 записа - поне не така, че да можете да измерите. Дизайнът, който споменавате, е често използван; това е страхотен дизайн, в който времето е ключова част от бизнес логиката.

Например, ако искате да знаете каква е била цената на даден артикул в момента, когато клиентът е направил поръчката, възможността да търсите записи на продукти, където valid_from order_date е най-лесното решение.

Това не винаги е така - ако съхранявате данните само за архивни цели, може да има повече смисъл да създавате архивни таблици. Трябва обаче да сте сигурни, че времето е наистина не е част от бизнес логиката, в противен случай болката от търсенето в множество таблици ще бъде значителна - представете си, че трябва да търсите или в таблицата с продукти, ИЛИ в таблицата product_archive всеки път, когато искате да разберете за цената на даден продукт в момента, в който е направена поръчката .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разменя стойностите на два реда в MySQL, без да нарушавате уникалното ограничение?

  2. Как да предам текущата стойност на реда в модален?

  3. SQL Ред на сортиране по реда, посочен в заявката

  4. Хибернация на JPA, MySQL и TinyInt(1) за Boolean вместо bit или char

  5. Историзация на база данни