pageHelper分页查询oracle数据插入mysql时数据量变少
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pageHelper分页查询oracle数据插入mysql时数据量变少相关的知识,希望对你有一定的参考价值。
如题, 在分页查的时候我通过DEBUG观察List中的数据量, 每次看都是正确的, 但是在插入mysql中数据量达到12000左右时就会少插入几百条 原本以为是有重复数据导致触发了更新操作, 但是将主键group by起来看数据量也是一样的, 所以确定不是更新导致的. 最后把分页的条件去掉, 直接查询所有数据在插入mysql中, 数据量正常了, 请问这会是什么情况导致的
1. 直接用limit start, count分页语句, 也是我程序中用的方法:select * from product limit start, count
当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时间(每页取20条), 如下:
select * from product limit 10, 20 0.016秒
select * from product limit 100, 20 0.016秒
select * from product limit 1000, 20 0.047秒
select * from product limit 10000, 20 0.094秒
我们已经看出随着起始记录的增加,时间也随着增大, 这说明分页语句limit跟起始页码是有很大关系的,那么我们把起始记录改为40w看下(也就是记录的一般左右) 参考技术A 你是没有做好提交控制吧。追问
不关这些事, mysql也是自动提交的. 现在是如果不用分页助手, 那就可以查多少数据插入多少数据, 但是用了之后就会少数据
Mybatis 分页插件PageHelper 遇坑
在项目中使用了mybatis的插件PageHelper,在分页查询时总数据量有2400条记录,分页参数为offset 和length,现在想要查询所有数据,即循环查询,循环跳出条件为查询数据为空,length=500,
在执行时发现循环不会跳出,陷入死循环,debug后发现当offset>2500时,数据返回为最后400条记录,查看PageHelper相关配置,发现 reasonable 被设置为true.
当reasonable = true,offset大于总记录数,会默认返回最后一页数据。
以上是关于pageHelper分页查询oracle数据插入mysql时数据量变少的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot2.0系列教程Springboot框架添加PageHelper分页查询功能