如何确定 MySQL 查询返回的行数
在 MySQL 查询领域,通常需要确定特定查询生成的行数。此计数提供了有关结果集的大小和内容的宝贵见解。让我们探索实现此目的的各种方法。
迭代行计数
最简单的方法是迭代结果行并递增计数器,但此方法可能效率较低对于大型数据集。
mysql_num_rows() 函数
对于那些使用 MySQL 客户端库的人来说,mysql_num_rows() 函数提供了一种直接方法来检索行计数一个结果集。它在 PHP 中的等效项是 mysqli_num_rows()。
COUNT(*) 函数
要计算匹配特定条件的行数,请使用 COUNT(*) 函数一个查询。例如:
<code class="sql">SELECT COUNT(*) FROM foo WHERE bar= 'value';</code>
SQL_CALC_FOUND_ROWS 和 FOUND_ROWS()
要确定使用 LIMIT 子句的查询中的总行数,请在后面的初始查询中使用 SQL_CALC_FOUND_ROWS通过 SELECT FOUND_ROWS():
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM foo WHERE bar="value" LIMIT 10; SELECT FOUND_ROWS();</code>
其他注意事项
处理大型表时,使用 SQL_CALC_FOUND_ROWS 可能效率低下。对于这种情况,请考虑执行单独的计数查询并缓存结果以供将来参考。
弃用 SQL_CALC_FOUND_ROWS
从 MySQL 版本 8.0.17 开始,SQL_CALC_FOUND_ROWS 函数已弃用并将在未来版本中删除。推荐的方法是发出单独的查询来计算行数。
以上是如何确定 MySQL 查询返回的行数?的详细内容。更多信息请关注PHP中文网其他相关文章!