我看到了一些关于这方面的事情,然后新的疑问出现在我身上。
当查询有限制时,我们可以在“选择”部分添加 SQL_CALC_FOUND_ROWS *,如下所示:
“SELECT SQL_CALC_FOUND_ROWS * FROM ... LIMIT 0,10”
之后,我查询如下:
“选择 FOUND_ROWS()”
我了解第一个查询将计数存储在内部 var 中,其值将在第二个查询中返回。第二个查询不是“select count(*) ...”查询,因此“SELECT FOUND_ROWS()”查询应该很便宜。
我说的对吗?
我所做的一些测试显示如下:
--拳头选择计数(*),第二次选择有限制--
测试 1:194 毫秒
out: {"total":94607,"list":["2 - 1397199600000","2 - 1397286000000","13 - 1398150000000","13 - 1398236400000","13 - 1398322800000","13 - 1398409200000","13 - 1398495600000","14 - 1398150000000","14 - 1398236400000","14 - 1398322800000"]}
--新的方式--
测试 2:555 毫秒
出:{“总数”:94607,“列表”:[“2 - 1397199600000”,“2 - 1397286000000”,“13 - 1398150000000”,“13 - 1398236400000”,“13 - 1398322800000”,“13 - 1398409200” "13 - 1398495600000","14 - 1398150000000","14 - 1398236400000","14 - 1398322800000"]}
为什么测试没有显示预期的结果?
我的假设是错误的?
谢谢,问候