开发的系统要上线了,需要测试程序在1800万的一个表上的性能,结果一个简单的查询竟然要20多秒,这要的速度怎么能用呢?必须得找出原因,于是看查询条件上的字段有没有建索引,可明明建索引了,怎么还这么慢?于是以另外一个索引查询,才0.03秒多,啊,怎么差别这么大呢,在重建索引试试,还是不行,用sql分析器看看,执行快的用到了索引,慢的果然没用索引,百思不得其解,百度一下吧(谷歌总断线),看到一条信息,oracle会根据的判断使不使用索引,会不会就计算出此索引不用?于是使用analyze table ta compute statistics 试试,计算完后,再执行之前的sql,哇!0.03秒多,真是神了,小命令解决大问题!如果你遇到不使用情况,不防试一试
oracle 中不使用已有的索引解决办法
最新推荐文章于 2024-09-11 08:43:55 发布
本文讲述了在Oracle数据库中遇到查询性能问题的解决过程。通过分析发现,尽管已经为查询字段建立了索引,但查询速度仍然很慢。经过进一步调查,发现Oracle未使用已建立的索引。通过使用analyze table compute statistics命令更新统计信息后,查询性能得到了显著提高。

163

被折叠的 条评论
为什么被折叠?



