(轉) JAVA,Mybatis,Oracle變數型別與欄位型別不一致,分割槽表全掃的優化
http://blog.itpub.net/28602568/viewspace-2134772/
開發反應[增量庫存]功能慢,並反饋查詢有指定分割槽條件,量較小;
開發反應[增量庫存]功能慢,並反饋查詢有指定分割槽條件,量較小;
2)再通過select * from table(dbms_xplan.display_cursor( 'SQL_ID','0','advanced')); 分析該sql的執行計劃和繫結變數情況發現
PARTITION RANGE ALL 分割槽全掃;---->createtm分割槽欄位傳引數了 為啥會全掃?
|
繫結變數中createtm分割槽條件未顯示有傳值
|
分割槽條件createtm 部分有【INTERNAL_FUNCTION 隱含轉換函式】;---> 猜測 傳參型別和DB欄位型別不一致導致分割槽表全掃;
|
通過DBA_HIST_SQLBIND查到createtm分割槽條件傳參(2017/01/17 14:20:00 -2017/01/17 14:25:00),欄位型別為timestamp,而createtm欄位為date型別;
總結:
開發在java層用的mybatis框架,把date型別欄位轉換成timestamp型別【and createtm $gt:=#{params.begintm} and createtm $lt:#{params.endtm}】,出現INTERNAL_FUNCTION 隱含轉換,導致及時分割槽條件createtm傳分割槽條件也被識別成未傳變數,導致分割槽表全掃;
優化後 and createtm>= to_date(#{params.begintm},'yyyy-mm-dd hh24:mi:ss') and createtm< to_date(#{params.endtm},'yyyy-mm-dd hh24:mi:ss')
--補充注意Java中的日期變數需要使用String來儲存.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10248702/viewspace-2148618/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle JAVA變數型別與欄位型別不一致,分割槽表全掃(INTERNAL_FUNCTION隱含轉換)的優化OracleJava變數型別Function優化
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- 改變表中非空欄位的型別型別
- oracle的欄位型別Oracle型別
- 修改表的欄位型別型別
- MySQL表的四種分割槽型別MySql型別
- Mysql 的分割槽型別MySql型別
- Windows分割槽型別Windows型別
- oracle 修改欄位型別的方法Oracle型別
- 【轉】修改表的欄位資料型別的方法資料型別
- Java 變數型別Java變數型別
- 主流資料庫欄位型別轉.Net型別的方法資料庫型別
- DATE型別INTERVAL分割槽型別
- 時間型分割槽欄位不走分割槽的解決
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- 轉載:Oracle常用的資料庫欄位型別Oracle資料庫型別
- SQL 語句調優_SQL傳遞引數的資料型別與表索引欄位型別保持一致SQL資料型別索引
- 【mongo】mongo 欄位型別互轉Go型別
- [轉]MySQL 欄位型別參考MySql型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- Sqlserver修改線上表的表欄位型別SQLServer型別
- Oracle-不刪表資料,修改欄位型別Oracle型別
- mysql表操作(alter)/mysql欄位型別MySql型別
- C#變數型別(1):引用型別和值型別 (轉)變數型別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- 變數型別轉換變數型別
- Oracle 修改欄位型別和長度Oracle型別
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- MongoDB更改欄位型別MongoDB型別
- 含LONG型別欄位的表無法MOVE型別
- java型別轉換與強制型別轉換(轉)Java型別
- 讀取oracle long型別及判斷是否自動分割槽表Oracle型別
- JAVA基礎:Java變數型別間的相互轉換(轉)Java變數型別
- mybatis sql String>Double, 型別引數被強轉為數值型別MyBatisSQL型別
- MongoDB中的欄位型別IdMongoDB型別
- OCM實驗-建立含特殊欄位型別的表型別
- MySQL欄位型別最全解析MySql型別