gpt4 book ai didi

php - SQL 和 PHP - mysqli_num_rows() 或 'select count()' 哪个更快?

转载 作者:IT王子 更新时间:2023-10-29 01:12:15 26 4
gpt4 key购买 nike

我只是想知道如果我只是想获取表中的行数,哪种方法最有效。

$res = mysql_query("SELECT count(*) as `number` FROM `table1`");
$count = mysql_fetch_result($res,0,'number');

$res = mysql_query("SELECT `ID` FROM `table1`");
$count = mysql_num_rows($res);

有人对此做过任何体面的测试吗?

最佳答案

mysql_query()在返回之前将所有结果记录从 MySQL 传输到 php 进程中(与 mysql_unbufferd_query() 不同)。仅此一项就会使 mysql_num_rows() 版本变慢。

此外,对于某些引擎(如 MyISAM),MySQL 可以从表 without hitting the actual data 的索引中处理 Count(*) 请求。 .另一方面,SELECT * FROM foo 会导致全表扫描,MySQL 必须读取每个数据集。

关于php - SQL 和 PHP - mysqli_num_rows() 或 'select count()' 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com