Définir des stratégies de partitionnement de table pour une source de données OceanBase compatible MySQL
Exemple : définissez une stratégie de création et une stratégie de suppression de partitions pour la table order de la base de données test_424 sur la source de données mysql424.
|
Paramètre |
Valeur d'exemple |
|
Nom du projet |
odc_4.2.0 |
|
Source de données |
mysql424 |
|
Nom de la base de données |
test_424 |
|
Nom de la table |
order |
-
Dans la fenêtre SQL, rédigez une instruction SQL pour créer une table nommée order.

CREATE TABLE `order` ( `time` date NOT NULL, `parti_key` int(11), `name` varchar(120) DEFAULT NULL ) partition by range columns(time, parti_key) (partition p2023_01 values less than ('2023-01-01', 20230101), partition p2023_02 values less than ('2023-02-01', 20230201)) -
Sous l'onglet Tickets de la fenêtre SQL, choisissez Partitioning Plan > Create New.

-
Dans le panneau Create Partitioning Plan, cliquez sur
pour configurer les stratégies de partitionnement.
-
Dans le panneau Configure partitioning strategy, sélectionnez Creation Strategy et Deletion Strategy pour le paramètre de stratégie de partitionnement.

Définissez le nombre de partitions à créer.
-
Configurez les règles de création des partitions.
Comme illustré dans la figure précédente, vous pouvez définir une stratégie de création de partition pour les clés de partitionnement
timeetparti_keyde la tableorder.time: le type de données de cette clé de partitionnement estDATE, qui correspond à un type temporel. Par conséquent, sélectionnez Sequential Increment comme méthode de création. Dans cet exemple, selon la stratégie de création pour la clé de partitionnementtime, l'heure actuelle (le moment où la tâche du plan de partitionnement s'exécute) sert de référence et les partitions sont créées à un intervalle d'un mois.-
parti_key: le type de données de cette clé de partitionnement estINT, qui n'est pas un type temporel. Par conséquent, seule la méthode Custom est disponible. Supposons que vous deviez utiliser l'heure actuelle comme référence et créer des partitions à un intervalle d'un mois. Conformément aux instructions de la section Stratégie de création de partition personnalisée, suivez les étapes ci-dessous pour générer l'expression de partitionnement :Obtenez l'heure de référence pour la création des partitions : l'heure actuelle servant de référence, utilisez directement la fonction
now().Définissez un intervalle de temps pour la création des partitions : dans cet exemple, l'intervalle est d'un mois. Saisissez donc 1 dans le champ Interval de la colonne Rule de la section Creation Rule, puis ajoutez une expression d'intervalle basée sur l'expression générée à l'étape 1 afin de produire la partition suivante. L'expression résultante est
now () + interval ${INTERVAL} month, où${INTERVAL}représente la valeur du champ Interval de la colonne Rule dans la section Creation Rule.-
Générez l'expression de partitionnement avec le même type de données que la clé de partitionnement : la clé de partitionnement
parti_keyest de typeint, mais l'expression obtenue après les étapes 1 et 2 est de type temporel. Vous devez donc convertir cette expression en typeint. Pour ce faire, convertissez d'abord l'expression en chaîne numérique, puis en typeint, soitcast(date_format(now() + interval ${INTERVAL} month, '%Y%m01') as signed).CAST(xxx AS SIGNED): convertit une valeur de champ en entier.DATE_FORMAT(): convertit une valeur de champ au format date.-
NOW(): renvoie la date actuelle.RemarqueDans ODC, vous pouvez également utiliser la variable ${LAST_PARTITION_VALUE} pour spécifier une limite supérieure pour les partitions de la base de données actuelle. Par exemple,
${LAST_PARTITION_VALUE} + interval ${INTERVAL} monthindique que les partitions suivantes doivent être générées en se basant sur la dernière limite supérieure. INTERVAL ${INTERVAL} MONTH: expression spécifiant un intervalle mensuel. ${INTERVAL} constitue une syntaxe spécifique pour la fonction d'intervalle de temps dans ODC.'%Y%m01': format de date.
-
Sélectionnez un format de nommage des partitions.
Comme illustré dans la figure précédente, choisissez Prefix + Suffix comme convention de nommage, composée d'un préfixe fixe et d'un suffixe variable basé sur le temps.
Préfixe fixe : définissez un préfixe selon vos besoins.
Suffixe variable : sélectionnez la limite supérieure de la partition correspondant à la clé de partitionnement de type temporel comme suffixe du nom de la partition actuelle. Vous pouvez également choisir le format de sortie de la date et l'intervalle d'incrémentation temporelle.
Une fois la configuration terminée, cliquez sur Test Generation pour afficher le nom de la partition.
Dans la section Delete Partitions, définissez le nombre de partitions à conserver et choisissez si vous souhaitez reconstruire les index après la suppression.
-
Cliquez sur Preview SQL dans le coin inférieur droit du panneau Configure partitioning strategy pour consulter l'instruction SQL générée par les stratégies de partitionnement configurées.

Cliquez sur OK.
Définir des stratégies de partitionnement de table pour une source de données OceanBase compatible Oracle
Exemple : définissez une stratégie de création et une stratégie de suppression de partitions pour la table order de la base de données OBORACLE sur la source de données oboracle_430.
-
Dans la fenêtre SQL, rédigez une instruction SQL pour créer une table nommée order.

CREATE TABLE "OBORACLE"."order" ( "TIME" DATE NOT NULL ENABLE, "KEY" NUMBER(*,0) NOT NULL ENABLE, "NAME" VARCHAR2(120) DEFAULT NULL ) COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 partition by range("TIME", "KEY") (partition "p2024_01" values less than (TO_DATE(' 2024-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'),20240101), partition "p2024_02" values less than (TO_DATE(' 2024-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'),20240201)); -
Sous l'onglet Tickets de la fenêtre SQL, choisissez Partitioning Plan > Create New.

-
Dans le panneau Create Partitioning Plan, cliquez sur
pour configurer les stratégies de partitionnement.
-
Dans le panneau Configure partitioning strategy, sélectionnez Creation Strategy et Deletion Strategy pour le paramètre de stratégie de partitionnement.

Définissez le nombre de partitions à créer.
-
Configurez les règles de création des partitions.
Comme illustré dans la figure précédente, vous pouvez définir une stratégie de création de partition pour les clés de partitionnement
TIMEetKEYde la tableorder.TIME: le type de données de cette clé de partitionnement estDATE, qui correspond à un type temporel. Par conséquent, sélectionnez Sequentially Increase comme méthode de création. Dans cet exemple, selon la stratégie de création pour la clé de partitionnementTIME, l'heure actuelle (le moment où la tâche du plan de partitionnement s'exécute) sert de référence et les partitions sont créées à un intervalle d'un mois.-
KEY: le type de données de cette clé de partitionnement estNUMBER, qui n'est pas un type temporel. Par conséquent, seule la méthode Custom est disponible. Supposons que vous deviez utiliser l'heure système actuelle comme référence et créer des partitions à un intervalle d'un mois. Conformément aux instructions de la section Stratégie de création de partition personnalisée, suivez les étapes ci-dessous pour générer l'expression de partitionnement :Obtenez l'heure de référence pour la création des partitions : l'heure actuelle servant de référence, utilisez directement la fonction
SYSDATE.Définissez un intervalle de temps pour la création des partitions : dans cet exemple, l'intervalle est d'un mois. Saisissez donc
NUMTOYMINTERVAL(1, 'MONTH')dans le champ Interval de la colonne Rule de la section Creation Rule, puis ajoutez une expression d'intervalle basée sur l'expression générée à l'étape 1 afin de produire la partition suivante. L'expression résultante estSYSDATE + ${INTERVAL}, où${INTERVAL}représente la valeur du champ Interval de la colonne Rule dans la section Creation Rule.-
Générez l'expression de partitionnement avec le même type de données que la clé de partitionnement : la clé de partitionnement
KEYest de typeNUMBER, mais l'expression obtenue après les étapes 1 et 2 est de type temporel. Vous devez donc convertir cette expression en typeNUMBER. Pour ce faire, convertissez d'abord l'expression en chaîne numérique, puis en typeNUMBER, soitTO_CHAR(SYSDATE + ${INTERVAL}, 'YYYYMM"01"').TO_CHAR: convertit une valeur de champ en type caractère.SYSDATE: renvoie l'heure système actuelle.YYYYMM"01": format de date.
-
Sélectionnez un format de nommage des partitions.
Comme illustré dans la figure précédente, choisissez Prefix + Suffix comme convention de nommage, composée d'un préfixe fixe et d'un suffixe variable basé sur le temps.
Préfixe fixe : définissez un préfixe selon vos besoins.
Suffixe variable : sélectionnez la limite supérieure de la partition correspondant à la clé de partitionnement de type temporel comme suffixe du nom de la partition actuelle. Vous pouvez également choisir le format de sortie de la date et l'intervalle d'incrémentation temporelle.
Une fois la configuration terminée, cliquez sur Test Generation pour afficher le nom de la partition.
Dans la section Delete Partitions, définissez le nombre de partitions à conserver et choisissez si vous souhaitez reconstruire les index après la suppression.
-
Cliquez sur Preview SQL dans le coin inférieur droit du panneau Configure partitioning strategy pour consulter l'instruction SQL générée par les stratégies de partitionnement configurées.

Cliquez sur OK.