I use the following query to find the unindexed columns. column columns format a35 word_wrapped column table_name format a35 word_wrapped col a_column format a35 word_wrapped col b_column format a35 word_wrapped col status format a9 word_wrapped select * from ( select owner,decode( b.table_name, NULL, 'unindexed', 'ok' ) Status, a.table_name, a.columns a_column, b.columns b_column from ( select a.owner,substr(a.table_name,1,30) table_name, substr(a.constraint_name,1,30) constraint_name, max(decode(position, 1, substr(column_name,1,30),NULL)) || max(decode(position, 2,', '||substr(column_name,1,30),NULL)) || max(decode(position, 3,', '||substr(column_name,1,30),NULL)) || max(decode(position, 4,', '||substr(column_name,1,30),NULL)) || max(decode(position, 5,', '||substr(column_name,1,30),NULL)) || max(decode(position, 6,', '||substr(column_name