Oracle函数中使用索引列时失效

前端之家收集整理的这篇文章主要介绍了Oracle函数中使用索引列时失效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本周在公司的时候,被领导分配一个任务,优化一个报错的sql

第一次做sql优化,没有考虑太多,找到明显报错的地方,改正后,在测试环境测试了一下,发现速度不慢,于是发到生产上去。但是发到生产之后,发现效率十分低下,一个查询请求使得服务器应用挂起很久,几个查询同时请求时,服务器应用就挂掉了。

于是向大神同事请教,同时马上把生产上效率低下的语句撤掉。大神开始分析,查看可以优化的地方,最后发现问题出在,表的一个列存在列索引的,但是在查询的时候没有用上索引!进一步分析,该列是在Oracle函数中使用的,Oracle函数中使用列的时候会使得索引列失效!于是,sql语句中使用列索引的函数,换一种方式实现,没有用到函数,然后在生产验证,查询速度神奇般的提升上来了。

教训:测试环境中没有问题的sql不代表在生产环境中没有问题,还要多考虑一番~

原文链接:https://www.f2er.com/oracle/210419.html

猜你在找的Oracle相关文章