mybatis 分頁 RowBounds和PageHelper性能評測


測試機器, 筆記本 win7 cpu i5-4210M 8G內存

測試數據 單表 181w數據

 

 

mybatis常用分頁組件性能對比

1. RowBounds

 

 

2. PageHelper

 

 

3. 性能對比

 

數據

耗時

RowBounds

180w數據 pageSize=20

		<p>50頁到100頁</p>
		</td>
		<td>
		<p>4分鍾</p>
		</td>
	</tr><tr><td>
		<p>RowBounds</p>
		</td>
		<td>
		<p>180w數據 pageSize=200</p>

		<p>7000頁到7020頁</p>
		</td>
		<td>
		<p>1分22秒</p>
		</td>
	</tr><tr><td>
		<p>PageHelper</p>
		</td>
		<td>
		<p>180w數據 pageSize=20</p>

		<p>50頁到100頁</p>
		</td>
		<td>
		<p>1962ms</p>
		</td>
	</tr><tr><td>
		<p>PageHelper</p>
		</td>
		<td>
		<p>180w數據 pageSize=200</p>

		<p>7000頁到7020頁</p>
		</td>
		<td>
		<p>12909ms</p>
		</td>
	</tr></tbody></table></div><p>jvm 內存消耗如下</p>

PageHelper

RowBounds

 

3. 原理分析

PageHelper: 物理分頁, 通過攔截器加 limit 語句進行分頁

RowBounds: 邏輯分頁,數據量大的時候壓力較大

總結:Mybatis的邏輯分頁比較簡單,簡單來說就是取出所有滿足條件的數據,然后舍棄掉前面offset條數據,然后再取剩下的數據的limit條

 

mybatis3 http://www.mybatis.org/mybatis-3/zh/index.html

pageHelper https://github.com/pagehelper/Mybatis-PageHelper

posted on 2019-07-31 16:24  張子揚  閱讀(626)  評論(0編輯  收藏

導航


免責聲明!

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



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