Oracle sql 优化の索引监控
1、监视索引是否使用
除了主键是完整性约束而自动变为索引外,创建普通索引的目的就是为了提高查询速度,如果我们创建了索引而没有被使用,那么这些不被使用的索引将起到阻碍性能的作用。
语法:
--检查某个索引是否被使用 alter index index_name monitoring usage; --检查所有索引使用情况 select * from V$OBJECT_USAGE; --删除不使用的索引 drop index index_name;
2、影响索引有效使用的因素
索引是一把双刃剑,正确使用能大大提高查询效率,但是错误使用也会造成严重性能问题。
(1)对索引字段进行函数操作或者运算操作;
(2)错误的使用索引字段类型。原因同(1)一样。
示例,user_id是Int类型,并且是索引字段
where user_id='1285'; --数据库会默认将语句转换为 where to_char(user_id) = '1285'