我有一个非常常见的问题,但似乎找不到一个好的答案。
我需要从表中获取一页的行,以及足够的信息来对这些数据进行分页。所以总的来说,我需要对总行数进行一个非常粗略的估计(通常我只需要知道ceil(count()/50)
)。
所以count()
真的是大材小用。而且我已经SELECT * FROM table LIMIT 0, 50
运行了,所以如果它可以附加到这个命令中就更好了。
我听说过SQL_CALC_FOUND_ROWS
。但我也听说它并不比只做count
自己更有效率。“不幸的是,使用 SQL_CALC_FOUND_ROWS 会带来令人讨厌的后果,即吹走可能发生的任何 LIMIT 优化”。
所以,总而言之,我有点认为使用 MySQL 的行估计是要走的路。但我不知道该怎么做。或者这个估计值可能有多少。
注意1:在我的情况下,我使用的大多数表每天只更新几次,而不是一直更新。注意 2:我正在使用 PDO 和 php。