![]() Menu |
![]() Index/help |
Définition : Le cluster est une organisation physique des données qui consiste à regrouper physiquement (dans un même bloc disque) les lignes d'une ou plusieurs tables ayant une caractéristique commune (une même valeur dans une ou plusieurs colonnes) constituant la clé du cluster.
La mise en cluster a trois objectifs :
Le regroupement en cluster est totalement transparent à l'utilisateur : des tables mises en cluster sont toujours vues comme des tables indépendantes.
Par exemple on pourrait mettre en cluster les tables emp et dept selon n_dept. Ces tables seraient réorganisées de la façon suivante : un bloc de cluster serait créé pour chaque numéro de département, ce bloc contenant à la fois les lignes de la table emp et de la table dept correspondant à ce numéro de département. La jointure entre les tables emp et dept selon n_dept deviendrait alors beaucoup plus rapide, puisqu'elle serait déjà réalisée dans l'organisation physique des tables.
Pour que l'on puisse mettre une table en cluster il faut que l'une au moins des colonnes faisant partie du cluster soit définie comme obligatoire (NOT NULL).
On peut indexer les colonnes d'une table en cluster, y compris les colonnes correspondant à la clé ou à une partie de la clé du cluster. La clé elle-même est automatiquement indexée, on peut éventuellement la réindexer pour créer un index unique servant à contrôler son unicité.
où l'on donne un nom au cluster, et où l'on définit le nom et le type des colonnes constituant la clé du cluster.CREATE CLUSTER nom_cluster (cle1 type1, cle2 type2, ...)
dans laquelle :CREATE CLUSTER nom_cluster (cle1 type1, cle2 type2, ...) [SIZE taille_du_bloc] [COMPRESS | NOCOMPRESS] [SPACE nom_de_space_definition]
CREATE CLUSTER DEM (DEPNO NUMBER) SIZE 512
nom_coli, nom_colj sont des noms de colonnes de la table, elles seront identifiées une à une aux colonnes clés du cluster spécifiées à la création du cluster.CREATE TABLE nom_table (nom_col1 TYPE1 NOT NULL , (nom_col2 TYPE2 NOT NULL , ...) CLUSTER NOM_CLUSTER (nom_coli, nom_colj...)
Remarque : Les performances du cluster ne sont valables que si on n'a pas de blocs chaînés (ex de grande table).DROP CLUSTER nom_cluster;
2001-05-01 14:31:31