Documente Academic
Documente Profesional
Documente Cultură
Introduction
Vous n'avez pas oubli ma table Reponse_1_P avec ses quelques dizaines de millions de
lignes ?
Tant mieux, car on va en reparler encore un peu.
Juste pour rappel, la table est partionne par date, puis sous-partionn par questionnaire.
Plusieurs choses peuvent arriver cette table :
Mais avent tout, sachant que bon nombre de requtes vont porter sur le pays en plus de la
date et du type de questionnaire, il serait peut-tre bon d'indexer la colonne ID_PAYS.
Cration de l'index
1. Local - Toutes les entres d'index dans une seule partition correspondra une table de
partition unique ("equipartitioned"). Ils sont crs avec le mot cl LOCAL. Equipartioning
permet oracle d'tre plus efficace pour laborer des plans de requte.
2. Global - L'index dans une seule partition peut correspondre plusieurs partitions de tables. Ils
sont crs avec le mot cl GLOBAL et ne prend pas en charge l'indpendance des partitions.
L'index GLOBAL ne peut tre partitionn qu'avec l'option RANGE PARTIONNED et de faon
"equipartitioned", mais Oracle ne sera pas profiter de cette structure.
1. Prefixed - La cl de partition est la colonne de gauche de l'indice. Sonder ce type d'indice est
moins coteux. Si une requte prcise la cl de partition dans la clause where alors
seulement la partition dfini sera sond, sinon toutes les partitions seront sond.
2. Non-Prefixed - Ne supporte pas la cl de partition, mais il est efficace pour accder des
donnes couvrant plusieurs partitions. Souvent utilis pour l'indexation d'une colonne qui n'est
pas la cl de partition de la tables, quand vous voulez partitionn l'index sur la mme colonne
que la table sous-jacente.
Local Prefixed Indexes
En supposant que la table INVOICE est partitionn par RANGE sur INVOICE_DATE.
L'exemple qui suit est un index prfixs.
La colonne indexe correspond la cl de partition.
En supposant que la table INVOICE est partitionn par RANGE sur INVOICE_DATE.
L'exemple qui suit est un index non-prfixs.
La colonne indexe ne correspond pas la cl de partition.
En supposant que la table INVOICE est partitionn par RANGE sur INVOICE_DATE.
L'exemple qui suit est un index global prfixs.
D'une facon gnrale, Oracle recommande d'utiliser les indexes de type local dans un
environnement type Datawarehouse.
En effet, une maintenance sur une des partitions la table rendrait l'index invalide.
Dans le cas d'un index global, c'est tout l'index qui serait invalide et le cout de la
reconstruction de l'index serait couteux.
Depuis Oracle 10, il est possible d'effectuer une maintenance d'index aprs un DDL sans
rendre l'index inutilisable.
Encore une fois, on se rend compte que les options que proposent ORACLE sont
nombreuses et que lorsque on implmente une fonction avance d'ORACLE, il convient de se
documenter un minimum au risque de se retrouver avec des problmes de peformance ou
d'administration complexes rsoudre de part les contraintes de disponibilits et des
volumtries en jeu.