為什麼該SQL的執行計劃不走索引???
最近比較清閒,就去檢查資料庫後臺的執行指令碼,看是否有比較消耗效能的指令碼可以最佳化。看是否有比較消耗效能的指令碼可以最佳化。
發現有個SQL語句執行效率很低,指令碼很簡單,兩個表A表(5kw記錄)和B表(5w記錄)Hash Join關聯,兩個表的關聯欄位F1和F2上,都有索引。
檢查表及索引的統計資訊,發現統計資訊是最新的,沒有問題。
嘗試修改SQL,把原來的hash join 改為in和exists,效率一樣,索引不起作用。
最後一招,hint強制走索引,結果執行計劃效率更差。
個人實在沒轍了,希望有這方面經驗的朋友,能提供好的建議和分析。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-753501/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 建立索引調整sql的執行計劃索引SQL
- 【Oracle】-【索引-HINT,執行計劃】-帶HINT的索引執行計劃Oracle索引
- 另我無語啊,SQL執行計劃走錯SQL
- PostgreSQL/LightDB 不走並行是為什麼?SQL並行
- SQL的執行計劃SQL
- ORACLE:什麼是執行計劃Oracle
- 分割槽索引(Partition Index)與SQL執行計劃(中)索引IndexSQL
- 分割槽索引(Partition Index)與SQL執行計劃(下)索引IndexSQL
- 分割槽索引(Partition Index)與SQL執行計劃(上)索引IndexSQL
- sql 執行計劃SQL
- Oracle 索引和執行計劃Oracle索引
- mysql索引和執行計劃MySql索引
- oracle為什麼不走索引Oracle索引
- Oracle sql執行計劃OracleSQL
- SQL Server執行計劃SQLServer
- SQL執行計劃分析SQL
- 程式設計師為什麼不應該加班程式設計師
- Oracle 查詢行數很少,為什麼不走索引?Oracle索引
- 【sql調優之執行計劃】獲取執行計劃SQL
- sql的執行計劃 詳解SQL
- 來自靈魂的拷問——知道什麼是SQL執行計劃嗎?SQL
- Oracle訪問索引的執行計劃(一)Oracle索引
- Oracle訪問索引的執行計劃(二)Oracle索引
- Oracle訪問索引的執行計劃(三)Oracle索引
- Oracle訪問索引的執行計劃(四)Oracle索引
- Oracle訪問索引的執行計劃(五)Oracle索引
- 關於索引的執行計劃記載索引
- Oracle中檢視已執行sql的執行計劃OracleSQL
- 獲取SQL執行計劃SQL
- SQL 執行計劃案例1SQL
- 剖析SQL Server執行計劃SQLServer
- 檢視sql執行計劃SQL
- mysql 執行計劃索引分析筆記MySql索引筆記
- 如何檢視SQL的執行計劃SQL
- 檢視SQL的執行計劃方法SQL
- 獲取SQL執行計劃的方式:SQL
- Oracle 檢視SQL的執行計劃OracleSQL
- 清除SQL語句的執行計劃SQL