Bonjour,
J'ai une table dont la clé primaire est actuellement une donnée métier unique. Je souhaite partitionner cette table car celle-ci devient très volumineuse. J'ai un champ "datetime" qui correspond à l'enregistrement de la ligne, et je souhaite donc partitionner par rapport à ce champ. Je n'ai pas encore évaluer le meilleur intervalle pour la partition (Range), mais ça sera surement par semestre ou trimestre.
Mon problème: pour pouvoir partitionner par rapport à ce champ, celui-ci doit être dans la clé primaire, sinon je prends l'erreur "A PRIMARY KEY must include all columns in the table's partitioning function".
En rajoutant la colonne concerné (datetime) la création de la table se fait correctement. Cependant la clé primaire devient moins restrictive (ie je peux avoir un doublon sur le premier champ si la date est différente). Selon vous, quels sont mes choix par rapport à ce scénario ? La solution qui me semble la plus simple est de rajouter une contrainte unique sur la colonne qui formait la clé primaire à l'origine. Quels sont les impacts sur les perfs ?
Merci d'avance pour vos avis.
Partager