测试Mybatis批量查询和使用HashMap查询效率
一 首先准备工作100万条数据
Mybatis批量查询
使用HashMap存储所有数据,然后从Map中获取需要的数据
二 开始测试 先测试查询其中的10w条
Mybaits批量查询 多次点击最终稳定在1.1秒左右
HashMap查询 多次点击最终稳定在3.7秒左右
三 测试查询其中的20w条
Mybaits批量查询 多次点击最终稳定在2.5秒左右
HashMap查询 多次点击最终稳定在4.2秒左右
四 测试查询其中的30w条
Mybaits批量查询 多次点击最终稳定在3.5秒左右
HashMap查询 多次点击最终稳定在4.4秒左右
五 测试查询其中的40w条(Map成功超过Mybatis)
Mybaits批量查询 多次点击最终稳定在4.5秒左右
HashMap查询 多次点击最终稳定在4.3秒左右
六 测试查询其中的50w条
Mybaits批量查询 多次点击最终稳定在6秒左右
HashMap查询 多次点击最终稳定在4.1秒左右
七 结论
后面数据就不测了,如果你某个项目需要这样一种业务场景,你需要在循环里拿到对应条件进行查询时,
你可以选择把条件都存到集合里,然后再进行Mybaits的批量查询,你也可以先将所有数据查询出来,塞进Map里,然后依次从Map里取出。当你需要的数据占总数据的40%以下时,使用Mybatis批量查询可能更好一些,当数据占比超过40%时,使用Map更好一些。
注:以上数据和结论仅供参考,本人心血来潮进行的一波测试,纯属娱乐!!!