Verrous Foreign Key et Index
Bonjour,
En Oracle 9.2.05 sur AIX nous avons une application qui génère beaucoup de verrous, j'aimerais vérifier que chaque foreign key possède un index, puisque cette règle est fortement conseillée.
Pouvez vous me dire comment faire pour vérifier cette correspondance foreign key - index?
Merci
Vérifier si les clés étrangères sont indexées
Bonjour,
On peut faire cela en PlSql ou en sql
La liste des clés étrangères est dans la table user_constraints (constraint_type = 'R')
La liste des champs d'une clé est dans la table user_con_columns
La liste des indexes est dans la table user_indexes
La liste des colonnes des indexes est dans la table user_ind_columns
Essai de code en SQL (non testé) :
Code:
1 2 3 4 5 6 7 8
|
select con.table_name, cco.column_name
from user_constraints con, user_con_columns cco
where con.constraint_type = 'R' and cco.constraint_name = con.constraint_name
minus
select idx.table_name, ico.column_name
from user_indexes idx, user_ind_columns ico
where ico.index_name = idx.index_name |
Ca marchera si les index ne sont constitués que d'une colonne.
Pozzo