【实践】将无用的索引提取出来
将无用的索引提取出来:
条件:
1. monitoring一段时间,没有使用过
2. 不属于PK、Unique约束的一部分
3. 和外键无关(这个里面有漏洞,如果一个外键次序和多条索引匹配,则一个都不匹配)
?
满足以上3个条件,认为这个索引是无效的,没有用处的
?
SELECT * FROM v$object_usage WHERE used = 'NO' AND NOT EXISTS (SELECT 1 FROM user_constraints WHERE user_constraints.index_name = v$object_usage.index_name) AND NOT EXISTS ( SELECT 1 FROM (SELECT constraint_name, constraint_type, matchforeignkeyindex (constraint_name) index_name FROM user_constraints WHERE constraint_type = 'R') WHERE index_name = v$object_usage.index_name)ORDER BY INDEX_NAME?
?
?
?
?