Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comprendre le partitionnement dans Babelfish
À partir de la version 4.3.0, Babelfish introduit le partitionnement des tables et des index avec un support limité. Les sections suivantes fournissent des détails sur la création de fonctions de partition, la définition de schémas de partition et l'implémentation de tables et d'index partitionnés dans Babelfish.
Présentation du partitionnement dans Babelfish
-
Fonctions de partition :
-
CREATE PARTITION FUNCTION:
Définit le mode de partitionnement d'une table ou d'un index en spécifiant le type de colonne de partitionnement et la plage de valeurs pour chaque partition. -
DROP PARTITION FUNCTION:
Supprime une fonction de partition existante.
-
-
Schémas de partition :
-
CREATE PARTITION SCHEME:
Définit le mappage entre les partitions et les groupes de fichiers.Note
Dans Babelfish, les groupes de fichiers sont traités comme des objets factices et ne représentent pas des emplacements de stockage physiques.
-
DROP PARTITION SCHEME:
Supprime un schéma de partition existant.
-
-
Fonction du système :
-
$PARTITION:
Cette fonction système renvoie le numéro de partition auquel une valeur spécifiée dans une colonne de partitionnement appartiendrait dans une table partitionnée spécifiée.
-
-
Tables et index partitionnés :
-
CREATE TABLE ... ON partition_scheme_name (partition_column_name):
Crée une table partitionnée en fonction d'un schéma de partition et d'une colonne de partitionnement spécifiés. -
CREATE INDEX ... ON partition_scheme_name (partition_column_name):
Crée un index partitionné en fonction d'un schéma de partition et d'une colonne de partitionnement spécifiés.
-
-
Vues du système pour le partitionnement des métadonnées :
Les vues système suivantes sont ajoutées pour fournir des métadonnées relatives au partitionnement :
-
sys.destination_data_spaces
-
sys.partitions
-
sys.partition_functions
-
sys.partition_parameters
-
sys.partition_range_values
-
sys.partition_schemes
-
Limites et solutions
Les limitations suivantes s'appliquent au partitionnement dans Babelfish :
-
ALTER PARTITION FUNCTION
etALTER PARTITION SCHEME
ne sont pas encore pris en charge.Note
Comme les opérations de division ou de fusion ne sont pas encore prises en charge dans Babelfish, toutes les partitions doivent être préalablement prédéfinies dans les fonctions de partition, car il n'est pas possible d'ajouter ou de supprimer des partitions.
-
La colonne calculée n'est pas encore prise en charge en tant que colonne de partitionnement.
-
INSERT BULK
et l'BCP
utilitaire n'est pas encore pris en charge pour les tables partitionnées. -
L'option de
LEFT
limite pour les fonctions de partition n'est pas encore prise en charge. -
Le type de
SQL_VARIANT
données n'est pas encore pris en charge pour les fonctions de partition. -
TRUNCATE TABLE ... WITH PARTITION
n'est pas encore pris en charge. -
ALTER TABLE ... SWITCH PARTITION
n'est pas encore pris en charge. -
Les index partitionnés non alignés tels que le schéma de partition et la colonne de partition qui diffèrent de la table partitionnée ne sont pas pris en charge.
-
DMSla migration depuis la source Babelfish n'est prise en charge que pour les tâches de chargement complet sur des tables partitionnées.
-
La syntaxe suivante n'est pas encore prise en charge mais propose une solution de contournement :
Utilisation d'un schéma de partition avec des contraintes ou des index dans l'CREATETABLEinstruction.
ALTERTABLE... ADDCONSTRAINT... SUR partition_scheme_name (partition_column_name).
Note
Vous pouvez configurer la trappe d'
babelfishpg_tsql.escape_hatch_storage_on_partition
évacuation pour qu'elle soit ignorée. Cela permettra à l'analyseur d'ignorer l'option de schéma de partition utilisée avec les contraintes ou les index, et le backend créera des contraintes ou des index individuels pour chaque partition.