Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quand utiliser quel modèle de partitionnement mysql

Cela dépend exactement du type de problème de performances que vous rencontrez.

Le partitionnement de MySQL 5.1 vous permet uniquement de partitionner le premier bit de la clé primaire. Cela signifie que si vous souhaitez utiliser une forme utile de partitionnement, il est souvent souhaitable d'avoir une clé primaire composite.

L'un des cas d'utilisation les plus courants est l'expiration d'anciennes données, ce qui peut être très coûteux dans les cas non partitionnés. Dans ce cas, vous devrez faire en sorte que la clé primaire commence par une date/heure et une partition sur celle-ci.

Ensuite, vous pouvez faire expirer les lignes en supprimant par programme les anciennes partitions.

Dans d'autres cas, vos requêtes courantes peuvent bénéficier de l'élagage des partitions.

N'oubliez pas que vous ne pouvez pas résoudre tous les problèmes de performances avec le partitionnement ; ce n'est pas de la magie. Pour les requêtes qui ne bénéficient pas de l'élagage des partitions, chaque partition doit être interrogée. MySQL ne le fait pas en parallèle, c'est donc généralement aussi lent que d'utiliser une table non partitionnée.

  1. Identifiez exactement quels sont vos problèmes de performances
  2. Décidez du niveau d'amélioration suffisant pour les corriger
  3. Décidez du degré de régression des performances que vous pourriez tolérer dans d'autres cas d'utilisation
  4. Testez, testez, testez et testez à nouveau sur vos données de production sur du matériel de production sur différentes configurations
  5. Répétez jusqu'à ce que vous soyez satisfait.
  6. Effectuer des tests fonctionnels pertinents ; relâche !