oracle 中不使用已有的索引解决办法

   开发的系统要上线了,需要测试程序在1800万的一个表上的性能,结果一个简单的查询竟然要20多秒,这要的速度怎么能用呢?必须得找出原因,于是看查询条件上的字段有没有建索引,可明明建索引了,怎么还这么慢?于是以另外一个索引查询,才0.03秒多,啊,怎么差别这么大呢,在重建索引试试,还是不行,用sql分析器看看,执行快的用到了索引,慢的果然没用索引,百思不得其解,百度一下吧(谷歌总断线),看到一条信息,oracle会根据的判断使不使用索引,会不会就计算出此索引不用?于是使用analyze table ta compute statistics 试试,计算完后,再执行之前的sql,哇!0.03秒多,真是神了,小命令解决大问题!如果你遇到不使用情况,不防试一试

猜你喜欢

转载自mywebuser.iteye.com/blog/1929505