Maison > Article > base de données > Qu'est-ce qu'une table de partition dans Oracle
Dans Oracle, une table de partition consiste à décomposer une grande table en plusieurs petites tables de partition gérables. Chaque table de partition est indépendante les unes des autres et constitue ensemble une table complète, logiquement, il n'y a qu'une seule table ou un seul index. mais physiquement, cette table ou index peut être constitué de plusieurs partitions physiques. Les tables de partition peuvent être divisées en partitions de plage, partitions de liste, partitions de hachage et partitions combinées.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
(1) Qu'est-ce qu'une partition
Dans la base de données Oracle, afin d'améliorer la gérabilité, la maintenabilité et les performances des grandes tables/grands index, Oracle a introduit le mécanisme de table de partition, une grande table/index peut être décomposé en plusieurs petites partitions gérables. Plusieurs partitions sont relativement indépendantes et ont des structures de stockage indépendantes, qui constituent ensemble une table/index complet. Le partitionnement est transparent pour l'application, c'est-à-dire que pour l'application accédant à la base de données, il n'y a logiquement qu'une seule table ou index (équivalent au fait que l'application ne voit toujours qu'une seule table ou index), mais physiquement cette table ou cet index peut être constitué de plusieurs Composés de partitions physiques.
(2) Quand le partitionnement est-il requis ?
Le site officiel d'Oracle recommande d'utiliser des tables partitionnées dans les situations suivantes :
1. Lorsque la quantité de données de la table est supérieure à 2 Go, le partitionnement doit être envisagé ; Les nouvelles données sont ajoutées à la dernière partition utilisée pour stocker les données historiques.
(3) La différence entre une table divisée et une table de partitionAfin de disperser les données de grandes tables/index, une autre façon consiste à diviser la table divisée en décomposant une grande table en plusieurs tables selon. certaines règles. Une table d'entité avec un espace de stockage indépendant. Par exemple, la table client customer peut être divisée en deux tables, l'une pour stocker les clients personnels customer_person et l'autre pour les clients d'entreprise customer_company. Les sous-tables sont complètement indépendantes et sont logiquement plusieurs tables différentes, tandis que la table de partition est physiquement une seule table. Les tables partitionnées sont transparentes pour les applications et faciles à gérer et à entretenir, tandis que les sous-tables ne sont pas faciles à gérer et à entretenir. (4) Types de tables de partition
Le partitionnement de base fait référence à une table de partition qui utilise une couche de partitionnement (partitionnement par plage, partitionnement par liste, partitionnement par hachage).Si une table de partition est partitionnée en plusieurs niveaux, on parle de partitionnement combiné.
CREATE TABLE time_range_sales ( prod_id NUMBER(6) , cust_id NUMBER , time_id DATE , channel_id CHAR(1) , promo_id NUMBER(6) , quantity_sold NUMBER(3) , amount_sold NUMBER(10,2) ) PARTITION BY RANGE (time_id) (PARTITION SALES_1998 VALUES LESS THAN (TO_DATE('01-JAN-1999','DD-MON-YYYY')), PARTITION SALES_1999 VALUES LESS THAN (TO_DATE('01-JAN-2000','DD-MON-YYYY')), PARTITION SALES_2000 VALUES LESS THAN (TO_DATE('01-JAN-2001','DD-MON-YYYY')), PARTITION SALES_2001 VALUES LESS THAN (MAXVALUE) );
Tutoriel vidéo Oracle
"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!