Mysql
 sql >> Database >  >> RDS >> Mysql

Quando utilizzare quale modello di partizionamento MySQL

Dipende esattamente dal tipo di problema di prestazioni che stai riscontrando.

Il partizionamento di MySQL 5.1 consente di partizionare solo il primo bit della chiave primaria. Ciò significa che se desideri utilizzare qualsiasi forma utile di partizionamento, è spesso desiderabile disporre di una chiave primaria composita.

Uno dei casi d'uso più comuni riguarda la scadenza dei vecchi dati, che possono essere molto costosi nei casi non partizionati. In tal caso dovresti fare in modo che la chiave primaria inizi con una data/ora e una partizione su quella.

Quindi puoi far scadere le righe eliminando a livello di codice le vecchie partizioni.

Altri casi sono quelli in cui le tue query comuni possono trarre vantaggio dall'eliminazione delle partizioni.

Ricorda che non puoi risolvere tutti i problemi di prestazioni con il partizionamento; non è magia. Per le query che non traggono vantaggio dall'eliminazione delle partizioni, è necessario eseguire query su ogni partizione. MySQL non lo fa in parallelo, quindi in genere è lento come usare una tabella senza partizioni.

  1. Identifica esattamente quali sono i tuoi problemi di prestazioni
  2. Decidi quanto miglioramento sarebbe sufficiente per risolverli
  3. Decidi quanta regressione delle prestazioni potresti tollerare in altri casi d'uso
  4. Test, test, test e test di nuovo sui dati di dimensioni di produzione su hardware di livello produttivo su varie configurazioni diverse
  5. Ripeti finché non sei soddisfatto.
  6. Eseguire test funzionali pertinenti; libera!