J'ai le tableau suivant avec une quantité ÉNORME de données, c'est pourquoi je veux le diviser ou le partitionner. Le problème est que je veux partitionner par une colonne qui n'est pas une clé primaire : project_id. Dans mon cas, il y aura MAXIMUM 2 ou 3 ids de projet différents...
- id (PRIMARY KEY, AUTO INCREMENT)
- project_id (INT)
- username (UNIQUE)
- username_md5 (UNIQUE)
(- ... more but irrelevant columns)
Comme vous pouvez le voir, j'ai 3 colonnes dont je dois garantir l'UNIQUE (id, username, username_md5). Maintenant, je voudrais faire un partitionnement RANGE sur la colonne project_id. La seule solution que j'ai trouvée est de créer une PRIMARY KEY à 4 colonnes pour toutes ces colonnes (le partitionnement exige que toutes les colonnes dans l'expression de partitionnement fassent partie de chaque clé unique).
Maintenant, je me demande
A) une clé primaire à 4 colonnes est-elle parfaite et utilisable ?
B) existe-t-il une meilleure solution pour mon partitionnement ?
C) sinon je le ferais manuellement en créant une table "dynamique" pour chaque project_id que j'ai, est-ce que ce serait la solution la plus simple ?