1、環境
centos 6.7 、oracle 11.2,表根據日期按月分區
2、測試
一、查詢表存在索引ind_1(org_id,visit_date,visit_no,patient_id)
執行查詢語句
執行計劃以下:
查詢總計時間大約:2分40秒左右。
二、刪除索引ind_1(org_id,visit_date,visit_no,patient_id)
drop index ind_1;
執行查詢語句
執行計劃以下:
查詢總計時間大約:9秒左右
總結:當表存在索引時,測試1則使用表的索引,致使查詢時間達到2分40秒左右,當刪除表的索引後,測試2根據表分區查詢,時間只有9秒左右。
疑問:把上面的測試語句改爲not exists時,在數據庫中執行語句時沒有使用索引,查詢時間只有幾秒左右,當把查詢語句放到java+mybatis框架後,查詢則使用了表的索引,查詢時間達到3分鐘左右,不明白??求遇到過的大俠解釋下。謝謝java