Search This Blog

Friday 18 November 2011

foreign keys without indexes

In Oracle database a foreign keys without an index defined on it could lead to contention problems (enq: TM – contention wait event). The following script retrieves foreign keys not having indexes

--the script finds the missing indexes on FK

SELECT * FROM (
   SELECT c.table_name, cc.column_name, cc.position column_position
   FROM   user_constraints c, user_cons_columns cc
   WHERE  c.constraint_name = cc.constraint_name
   AND    c.constraint_type = 'R'
   MINUS
   SELECT i.table_name, ic.column_name, ic.column_position
   FROM   user_indexes i, user_ind_columns ic
   WHERE  i.index_name = ic.index_name
   )
ORDER BY table_name, column_position;

No comments:

Post a Comment