mysql+mybatis 性能几个对比
场景一、mysql 中 left join 和 子查询 效率的对比
表A 大概30万数据,需要关联的表B,B表大概几千条,因为首先要对表A 和 表B 做一些处理,所以
两种写法
select tab_a.id,XXXXXXXX from
( select xxxxxx from A ) tab_a LEFT JOIN (SELECT XXXX FROM B) tab_b on tab_a.col = tab_b.col
or
select tab_a.id,
(select tab_b.xxx (SELECT XXXX FROM B) tab_b where tab_b.col = tab_a.col )
。。。。。。
from
( select xxxxxx from A ) tab_a;
因为 两张表的col字段都是经过计算了,所以都没有索引,经过比对
子查询大概用时5S多,left join 差不多17S 左右
场景二、mybatis批量插入
数据量大概30W,
方法1.直接 for循环,每次插入一条,耗时 10分种左右
方法2、mybatis中 foreach,每次批量一万条update, 只要1分多,当然批量更新需要注意,一次性不能推送太多的sql,不能超过sql最大限制,另外jdbc连接信息上&allowMultiQueries=true
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)