tuning partionner table ou index?
Bonjour à tous,
J'ai 2 questions :
1) vaut il mieux utiliser une table partitionnée ou un index partitionné?
2) problème sur une manip.
Voilà, j'ai suivit la procédure suivante :
Partitioning Existing Tables à l'adresse suivante
http://www.oracle-base.com/articles/...exes.php#Range
Cette procédure m'a permis de transformer une table non partitionnée avec des données existante en table partitionnée.
J'ai juste modifier le scipt suivant
Code:
1 2 3 4
|
CREATE TABLE my_table_2 (id NUMBER, description VARCHAR2(50))
PARTITION BY RANGE (id)
(PARTITION my_table_part VALUES LESS THAN (MAXVALUE)); |
en
Code:
1 2 3 4 5 6
|
CREATE TABLE my_table_2 (id NUMBER, description VARCHAR2(50))
PARTITION BY RANGE (id)
(PARTITION my_table_part1 VALUES LESS THAN (10) tablespace "user",
PARTITION my_table_part2 VALUES LESS THAN (20) tablespace "user",
PARTITION my_table_part1 VALUES LESS THAN (MAXVALUE) tablespace "user"); |
et donc les alter exchange partition pour les 3 partitions
Code:
1 2 3 4
|
ALTER TABLE my_table_2 EXCHANGE PARTITION my_table_part1 WITH TABLE my_table WITHOUT VALIDATION;
ALTER TABLE my_table_2 EXCHANGE PARTITION my_table_part2 WITH TABLE my_table WITHOUT VALIDATION;
ALTER TABLE my_table_2 EXCHANGE PARTITION my_table_part3 WITH TABLE my_table WITHOUT VALIDATION; |
avec creation d'une cle primaire
Code:
1 2
|
alter table my_table add (constraint "code_PK" primary key (id); |
Et maintenant si je fait une requete avec une clause where sur id tel que :
Code:
select * from my_table where id='1'
et bien je n'ai aucun resultat, alors que je vous assure qu'il existe !!!!:(
Merci pour votre aide