【发布时间】:2010-11-01 10:14:16
【问题描述】:
在我的查询中使用 LIMIT 时,我需要获取总行数,以避免两次查询。 是否可以?
【问题讨论】:
在我的查询中使用 LIMIT 时,我需要获取总行数,以避免两次查询。 是否可以?
【问题讨论】:
使用FOUND_ROWS():
对于带有 LIMIT 子句的 SELECT,如果没有 LIMIT 子句,将返回的行数
在您的 SELECT 查询之后使用该语句,该语句需要 CALC_FOUND_ROWS 关键字。手册中的示例:
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;
请注意,这会给数据库带来额外的压力,因为它每次都必须找出完整结果集的大小。仅在需要时使用SQL_CALC_FOUND_ROWS。
【讨论】: