Changes between Version 39 and Version 40 of Partitioning


Ignore:
Timestamp:
11/06/25 00:37:44 (3 weeks ago)
Author:
222039
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Partitioning

    v39 v40  
    9898  PARTITION p_2026_01 VALUES LESS THAN (TO_DAYS('2026-02-01')),
    9999  PARTITION p_2026_02 VALUES LESS THAN (TO_DAYS('2026-02-02')),
    100   PARTITION p_2026_02 VALUES LESS THAN (TO_DAYS('2026-02-03')),
     100  PARTITION p_2026_03 VALUES LESS THAN (TO_DAYS('2026-02-03')),
    101101  PARTITION p_future VALUES LESS THAN MAXVALUE
    102102);
     
    120120}}}
    121121
    122 ==== passanger
     122==== passenger
    123123
    124124* Партиционирана по колона passenger_id користејќи HASH.
     
    149149* За табелата passenger каде што нема временска компонента, HASH е подобар избор бидејќи ги дистрибуира патниците рамномерно низ партициите. Уникатниот индекс треба да се брише само ако MySQL го спречува партиционирањето (како во случајот со HASH или RANGE по колона која не е дел од уникатниот индекс). Ако уникатноста е критична, подобро е да се најде начин да се вклучи во партиционирањето или да се задржи контролата на апликациски слој.
    150150
     151* Dropping Unique Index (pass_unq)
     152 * MySQL бара сите колони од UNIQUE индекс да бидат вклучени во партициониот клуч
     153 * Ризици:
     154  * Можност за внесување на дупликат записи ако апликацијата не прави проверка
     155  * Влијание врз постоечки кодот кој се потпира на оваа constraint
     156
     157
     158
    151159== Тестирање и Перформанси
    152160
     
    203211==== Заклучок
    204212
    205 * Партиционирањето на табели е моќна техника за оптимизација на перформанси кај големи time-series бази, но доаѓа со значајни ограничувања особено во MySQL забраната за foreign keys на партиционирани табели. За airportdb базата, единствено weatherdata табелата е идеален кандидат за месечно RANGE партиционирање бидејќи содржи time-series податоци, нема foreign key зависности, и PRIMARY KEY веќе вклучува log_date, и passanger табелата за HASH партиционирање. Останатите табели како flight, flight_log и booking не се погодни поради критичните referential integrity constraints кои се неопходни за одржување на интегритетот на податоците во авионската резервациска система.
     213* Партиционирањето на табели е моќна техника за оптимизација на перформанси кај големи time-series бази, но доаѓа со значајни ограничувања особено во MySQL забраната за foreign keys на партиционирани табели. За airportdb базата, единствено weatherdata табелата е идеален кандидат за месечно RANGE партиционирање бидејќи содржи time-series податоци, нема foreign key зависности, и PRIMARY KEY веќе вклучува log_date, и passenger табелата за HASH партиционирање. Останатите табели како flight, flight_log и booking не се погодни поради критичните referential integrity constraints кои се неопходни за одржување на интегритетот на податоците во авионската резервациска система.