天天看點

oracle 中不使用已有的索引解決辦法

開發的系統要上線了,需要測試程式在1800萬的一個表上的性能,結果一個簡單的查詢竟然要20多秒,這要的速度怎麼能用呢?必須得找出原因,于是看查詢條件上的字段有沒有建索引,可明明建索引了,怎麼還這麼慢?于是以另外一個索引查詢,才0.03秒多,啊,怎麼差别這麼大呢,在重建索引試試,還是不行,用sql分析器看看,執行快的用到了索引,慢的果然沒用索引,百思不得其解,百度一下吧(谷歌總斷線),看到一條資訊,oracle會根據的判斷使不使用索引,會不會就計算出此索引不用?于是使用analyze table ta compute statistics 試試,計算完後,再執行之前的sql,哇!0.03秒多,真是神了,小指令解決大問題!如果你遇到不使用情況,不防試一試