首页 > 数据库技术 > 详细

Spring JDBC FOUND_ROWS 安全吗?

时间:2016-01-28 18:48:21      阅读:342      评论:0      收藏:0      [点我收藏+]

在很多分页的程序中都这样写:

SELECT COUNT(*) from `table` WHERE ......;  查出符合条件的记录总数
SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据
这样的语句可以改成:
SQL1:SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ......  limit M, N;
SQL2:SELECT FOUND_ROWS();
这样只要执行一次较耗时的复杂查询可以同时得到与不带limit同样的记录条数,但是这样的处理我担心是不安全的【猜测,未验证】:
在连接池的情况下,当SQL1 执行结束后,如果迅速将SQL2中的缓冲值取走,基本是正确的,但是如果此时有其他进程取走这个中间结果,那显然,SQL2查询的结果就不正确。
所以,方案1比方案2安全?容我有空再验证下。

Spring JDBC FOUND_ROWS 安全吗?

原文:http://www.cnblogs.com/dogharry/p/5167023.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!