mysql limit 使用不当导致的bug
2016-12-13 15:51
267 查看
//查询状态为0的数据,并翻页返回数据,每次翻页10条。
1)select * from table_a where status=0 limit 0,10;
2)select * from table_a where status=0 and id >#{lastId} order by id limit 10;
假设满足status=0的数据一共12条。分别是id=1,2,...11,12
第一条sql语句:返回id=1-10数据后。id=2的数据、status=0被改成status=1了。这时候翻页,只返回了id=12数据。(少了id=11的数据)
而第二条sql语句,由于把上次查询的最大id作为参数传进去,而且是limit 10,不会丢失id=11的数据
1)select * from table_a where status=0 limit 0,10;
2)select * from table_a where status=0 and id >#{lastId} order by id limit 10;
假设满足status=0的数据一共12条。分别是id=1,2,...11,12
第一条sql语句:返回id=1-10数据后。id=2的数据、status=0被改成status=1了。这时候翻页,只返回了id=12数据。(少了id=11的数据)
而第二条sql语句,由于把上次查询的最大id作为参数传进去,而且是limit 10,不会丢失id=11的数据
相关文章推荐
- MySQL笔记:select默认使用不当索引导致的巨大性能损失
- mysql中orderby和limit同时使用的bug
- [MySQL Bug] 在RBR复制模式下使用Merge引擎导致备库Crash的bug
- ERROR 1045 (28000) Mysql中grant 使用不当导致的生产事故
- mysql中orderby和limit同时使用的bug
- Android融云使用不当产生的内存泄露和BUG(匿名类回调导致Activity内存泄露)
- MySQL也真是让人郁闷(关于子查询中使用limit)
- 实践中Javascript使用RegExp.$1导致trim()自定义函数的一个Bug
- ostrstream::str()使用不当导致的内存泄漏
- 如何使用MySQL Joins and More ORDER BY With LIMIT
- postgresql和mysql中的limit使用方法
- ArrayList使用不当导致ListActivity失去响应
- beforePhase使用不当导致ADF应用性能问题
- MySQL也真是让人郁闷(关于子查询中使用limit)
- mysql中索引使用不当速度比没加索引还慢的测试
- MySql Limit使用
- 影响LIMIT子句使用的一个mysql配置项
- MySQL里,不能重复使用临时表的BUG竟然还没有解决
- Indy10线程池BUG:Idyarn线程使用Synchronize导致TerminateAllYarns挂死的解决办法
- MYSQL使用存储过程插入中文数据的疑似bug(UTF8)