这是 mysql 的特有的关键字,与此对应使用的 函数是 FOUND_ROWS()
在写分页程序时,常用的一条语句是:
SELECT COUNT(*) FROM ... WHERE ...
当然还有另外一种统计所有记录的语句:
SELECT SQL_CALC_FOUND_ROWS ... FROM ... WHERE
执行完上面的语句后,再执行SELECT FOUND_ROWS() 即可得到所有记录数
在实际使用中这两者性能差异大吗?特别是在数据量达百万级以上的时候?
SQL_CALC_FOUND_ROWS在速度上会比COUNT(*)慢很多,具体有多慢,取决于你的索引还有一些别的因素,
count大约要比SQL_CALC_FOUND_ROWS快上10倍.
相关连接:
https://www.percona.com/blog/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。