先描述業務場景,10萬條資料左右,查詢居然要10幾秒,百思不得解,為啥?單獨執行sql語句都是毫秒級別的。一路分析下去直到reuseexecutor原始碼中才發現,是執行sql語句時候很慢,那麼問題來了,sql語句沒問題啊,想起了mybatis的分頁攔截和外掛程式的分裝類於是找到了pageplugin的類,我這是這樣命名的。其中有句**如下
原語法這樣寫 select count(0) from (" + fhsql+ ") tmp_count 不是坑爹麼,這誰封裝的,先查詢所有資料在套子查詢查數量。果斷改寫
將sql這樣封裝一下,就是select count(1) from 計算總量的sql了,效率提高的百倍,查詢時間從10幾秒到0.022s.
mybatis分頁外掛程式
其實吧,這個分頁的封裝是我從mybatis實戰上抄的,然後又重構了下 形成了自己的。現在之所以會記錄一下,主要原因是出現了質變 對foreach的支援,而解決這個問題的過程中,我感覺,應該基本上使用上沒有多少侷限行了。下面說說實際的吧。基本的設計思路,是使用mybatis外掛程式,首先是下面這一串註...
mybatis 分頁外掛程式
pagehelper 是國內非常優秀的一款開源的mybatis分頁外掛程式 支援任何複雜的單錶 多表分頁。它支援基本主流與常用的資料庫,例如mysql oracle db2 sqlite hsqldb等。本文主要使用的是mysql和pagehelper方法的呼叫 使用pagehelper之後我們就可...
Mybatis 關於分頁查詢外掛程式的使用
mybatis的乙個分頁外掛程式,即乙個負責分頁的jar包 這裡需要注意的是5.x和4.x的配置是不同的 在4.x及以下版本中,mybatis config.xml中的配置為 interceptor com.github.pagehelper.pagehelper name dialect valu...