where a='a' limit 0,20先拿出想要的数据。
2 select found_rows() as num再计算上个结果集个数。
语法:
第二个SELECT语句返回一个数字,该数字指示如果不使用LIMIT语句写入第一个SELECT将会返回多少行。
如果您使用的是 SELECT SQL_CALC_FOUND_ROWS ,MySQL 必须计算整个结果集中有多少行。但是,这比不使用LIMIT再次运行查询要快,因为不需要将结果集发送到 Client 端。
中文——mysql5.7官方文档
在mysql8.0版本的官方文档中,不推荐使用 SQL_CALC_FOUND_ROWS 选项,并计划在后续版本中废弃。
mysql8.0文档
注意:
mysql会为当前连接保存这个值,各个连接的SQL_CALC_FOUND_ROWS结果互不影响
两条sql语句可以简化成一条sql语句,看似简单了,实则不然。
原因:
来源—— SQL_CALC_FOUND_ROWS的用法
哪个最快?SELECT SQL_CALC_FOUND_ROWS FROM table ,或 SELECT COUNT(*)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)