Maison  >  Article  >  Le rôle du partitionnement de table Oracle

Le rôle du partitionnement de table Oracle

(*-*)浩
(*-*)浩original
2019-09-02 11:55:189870parcourir

Le concept d'espace table et de table de partition

Le rôle du partitionnement de table Oracle

Espace table : (Apprentissage recommandé : Tutoriel vidéo frontal Web )

est une collection d'un ou plusieurs fichiers de données. Tous les objets de données sont stockés dans l'espace table spécifié, mais le stockage principal est constitué de tables, il est donc appelé table. space

Table de partition :

Lorsque la quantité de données dans la table continue d'augmenter, la vitesse d'interrogation des données ralentira et les performances de l'application diminueront à ce moment-là. devrait envisager de partitionner la table. Une fois la table partitionnée, la table logique reste une table complète, mais les données de la table sont physiquement stockées dans plusieurs espaces table (fichiers physiques), de sorte que lors de l'interrogation des données, la table entière ne sera pas analysée à chaque fois. Table

Le rôle spécifique du partitionnement de table

La fonctionnalité de partitionnement de table d'Oracle apporte des avantages à une variété d'applications en améliorant la gérabilité, les performances et la disponibilité. avantage. De manière générale, le partitionnement peut grandement améliorer les performances de certaines requêtes et opérations de maintenance. De plus, le partitionnement peut grandement simplifier les tâches de gestion courantes et constitue un outil clé dans la création de systèmes de données de plusieurs gigaoctets ou de systèmes à ultra haute disponibilité.

La fonction de partitionnement peut subdiviser en outre une table, un index ou une table organisée en index en segments. Les segments de ces objets de base de données sont appelés partitions. Chaque partition possède son propre nom et peut sélectionner ses propres caractéristiques de stockage. Du point de vue d'un administrateur de base de données, un objet partitionné comporte plusieurs segments, et ces segments peuvent être gérés collectivement ou individuellement. Cela donne à l'administrateur de base de données une flexibilité considérable lors de la gestion des objets partitionnés. Cependant, du point de vue de l'application, une table partitionnée est identique à une table non partitionnée et aucune modification n'est requise lors de l'accès à une table partitionnée à l'aide de commandes SQL DML.

Quand utiliser les tables de partition :

1. La taille de la table dépasse 2 Go.

2. La table contient des données historiques et de nouvelles données sont ajoutées aux nouvelles partitions.

Avantages et inconvénients du partitionnement de table

Le partitionnement de table présente les avantages suivants :

1. Améliorer les performances des requêtes : les requêtes sur les objets partitionnés ne peuvent effectuer que des recherches. pour eux-mêmes Se soucier des partitions pour améliorer la vitesse de récupération.

2. Disponibilité améliorée : si une certaine partition de la table tombe en panne, les données de la table dans d'autres partitions sont toujours disponibles ;

3. échoue, vous devez réparer les données, réparer uniquement la partition ;

4. E/S équilibrées : différentes partitions peuvent être mappées sur des disques pour équilibrer les E/S et améliorer les performances globales du système.

Inconvénients :

Concernant la table de partition : Il n'existe aucun moyen de convertir directement une table existante en table de partition. Cependant, Oracle propose la fonction de redéfinition en ligne des tables.

(4). Plusieurs types et méthodes de fonctionnement des partitions de table

Partitionnement de plage :

Le partitionnement de plage mappe les données sur chaque partition en fonction de la plage déterminée. par la clé de partition spécifiée lors de la création de la partition. Cette méthode de partitionnement est la plus couramment utilisée et la clé de partition utilise souvent la date. Par exemple : vous pouvez partitionner vos données de ventes par mois.

Lors de l'utilisation du partitionnement par plage, veuillez tenir compte des règles suivantes :

1. Chaque partition doit avoir une clause VALUES LESS THEN, qui spécifie une valeur qui n'est pas incluse dans la valeur limite supérieure de la partition. Tous les enregistrements dont la valeur de clé de partition est égale ou supérieure à cette limite supérieure seront ajoutés à la partition immédiatement supérieure.

2. Toutes les partitions, sauf la première, auront une valeur limite inférieure implicite. Cette valeur est la valeur limite supérieure de la partition précédente de cette partition.

3. Dans la partition la plus élevée, MAXVALUE est définie. MAXVALUE représente une valeur incertaine. Cette valeur est supérieure à la valeur de n'importe quelle clé de partition dans d'autres partitions et peut également être comprise comme supérieure à la valeur de VALUE LESS THEN spécifiée dans n'importe quelle partition, y compris les valeurs nulles.

Exemple 1 :

Supposons qu'il existe une table CUSTOMER avec 200 000 lignes de données. Nous partitionnons cette table par CUSTOMER_ID. Chaque partition stocke 100 000 lignes. les fichiers de données peuvent s'étendre sur plusieurs disques physiques. Voici le code pour créer des tables et des partitions, comme suit :

CREATE TABLE CUSTOMER 
( 
    CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY, 
    FIRST_NAME  VARCHAR2(30) NOT NULL, 
    LAST_NAME   VARCHAR2(30) NOT NULL, 
    PHONE        VARCHAR2(15) NOT NULL, 
    EMAIL        VARCHAR2(80), 
    STATUS       CHAR(1) 
) 
PARTITION BY RANGE (CUSTOMER_ID) 
( 
    PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01, 
    PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02 
)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn