記錄一個sql快,mybatis慢的查詢問題


在做一個項目的時候,偶然發現mybatis特別慢,數據就600多,很不科學

百度一下,有很多說什么sql語句問題,類型不匹配==,我是新手不太懂,偶然的機會在mybatis配置添加了一個fetch參數

好了。。。。

解決了問題,順便,網上查一下具體原因:
jdbc在查詢的時候,每次會從游標中取10條數據,連續重復,每一次重復都會進行一次數據庫交互,交互都是非常耗時間的,而fetchSize就是設置每次查詢出來的數據條數,保存進緩存中,以后每次游標取10條數據,就會從內存中讀取10條數據,這樣不需要進行數據庫交互,耗時也就變少了。以下來自百度....
ORACLE JDBC驅動默認的FETCHSIZE為10。一般為了方便,我們會在數據源層面上來設置fetchsize。

  • 在沒有記錄返回的情況下,OCI方式中fetchsize設置越大,對性能的影響越大。
  • 在沒有記錄返回的情況下,THIN和mysql的方式中,fetchsize的大小,對於性能影響不大。
  • 當返回結果集較大時,設置較大的fetchsize,對性能會有很大的提升。
  • Fetchsize設置大於返回的記錄數時,對於性能的提升沒有任何的意義,反而會增加內存的開銷。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM