Bonjour,
connaissez vous une commande sql (à taper sous sqlplus) qui donnerait la taille de chaque index de la base ?
Merci d'avance.
Bonjour,
connaissez vous une commande sql (à taper sous sqlplus) qui donnerait la taille de chaque index de la base ?
Merci d'avance.
La notion d'index n'existe pas en SQL.
Il n'y a donc aucune commande possible.
Certains éditeurs de SGBDR proposent des techniques spécifiques.
par exemple pour MS SQL Server, une requête du genre :
mais cette mesure est approximative. Pour une mesure exacte (pas souvent nécessaire) il faut faire préalablement un UPDATEUSAGE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT name, dpages * 8 AS KO FROM dbo.sysindexes
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Merci pour la réponse,
j'ai essayé la commande :
select name, dpages * 8 AS KO from dba_indexes;
mais j'obtiens une erreur qui est celle-ci :
ERROR at line 1:
ORA-00904: "DPAGES": invalid identifier
Merci de votre aide.
Ce qui signifie que le champ dpages n'existe pas chez Oracle, comme il est possible de s'en apercevoir en faisant un :Envoyé par leroysomer
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM DBA_INDEXES
"Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément." Nicolas Boileau
"Expliquer empêche de comprendre si cela dispense de chercher"
Quiz Oracle : venez tester vos connaissances !
La FAQ Oracle : 138 réponses à vos questions
Aidez-nous à la compléter
Merci de votre aide, mais je viens de trouver la solution afin de connaitre la taille de chaque index.
Voici la commande sql :
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select segment_name, sum(bytes)/1024 from dba_segments where tablespace_name='INDX' group by segment_name;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 set lines 300 set pages 1000 column owner FORMAT A10 COLUMN TABLE FORMAT A30 COLUMN Taille FORMAT A15 COLUMN TABLESPACE FORMAT A10 SELECT owner, SUM(BYTES) /(1024*1024) || 'Mo' "Taille" FROM dba_segments WHERE segment_type in ('LOBINDEX','INDEX PARTITION','INDEX SUBPARTITION','INDEX') and owner=LE_SCHEMA GROUP BY owner ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 set lines 300 set pages 1000 column owner FORMAT A10 COLUMN TABLE FORMAT A30 COLUMN Taille FORMAT A15 COLUMN TABLESPACE FORMAT A10 SELECT owner, segment_name "INDEX", SUM(BYTES) /1024 || 'Ko' "Taille", blocks "Blocs", tablespace_name "TABLESPACE" FROM dba_segments WHERE segment_type in ('LOBINDEX','INDEX PARTITION','INDEX SUBPARTITION','INDEX') and owner='LE_SCHEMA' GROUP BY owner,segment_name, tablespace_name, blocks ORDER BY owner ;
Partager