Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
8 juin 2012 5 08 /06 /juin /2012 15:19

 

Estimer la taille d'un index avec CREATE_INDEX_COST.

Comment estimer la taille d'un index avant sa création dans Oracle.

Simulation réelle de l'estimation de taille d'un index avant sa création.

Pour connaitre la taille que pourrait occuper un index avant sa création, Oracle propose le package DBMS_SPACE avec la procédure CREATE_INDEX_COST.
Ce script nous donnera la taille estimée de l'index et la taille du segment alloué.
L'utilisation de la procédure DBMS_SPACE.CREATE_INDEX_COST permet au DBA d'anticiper les modifications de paramètres de stockage avant de créer ses index dans la base de données.
Celà permet aussi de comparer la taille d'un index en place et de simuler sa nouvelle taille si on envisage un rebuild index.

 

 
  SQL> SET SERVEROUTPUT ON; SQL> DECLARE v_estimation NUMBER; v_alloue NUMBER; v_sql VARCHAR2(255) :='CREATE INDEX idx_1 ON societe(soc_code,soc_nom)'; BEGIN DBMS_SPACE.CREATE_INDEX_COST(v_sql, used_bytes => v_estimation, alloc_bytes => v_alloue); DBMS_OUTPUT.PUT_LINE ('Estimation Index = '|| v_estimation); DBMS_OUTPUT.PUT_LINE ('Segment alloue = '|| v_alloue); END; / Estimation Index = 2886 Segment alloue = 65536 Procédure PL/SQL terminée avec succès. SQL>  

Haut de Page www.dba-ora.fr

 

 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Espace occupé par les index.

Partager cet article

Repost 0
Published by Oracle SQL - dans INDEX ORACLE
commenter cet article

commentaires