mysqli_num_rows是否需要花费与查询本身一样多的时间?

时间:2018-02-08 18:20:46

标签: php mysqli

mysqli_num_rows是否需要花费足够的时间来运行查询本身?

$query = Select * FROM table Where X = 'Y'

mysqli_num_rows($query)

mysqli_query($con, $query)

我的假设是num行会更快,但是如果它与查询进行相同的比较又是如何以及为什么呢?

1 个答案:

答案 0 :(得分:1)

mysqli_num_rows()不执行任何查询。您仍然需要执行查询/语句,然后只有您的mysqli_result对象具有此属性。

mysqli_num_rows()并没有真正执行任何操作。它只是从对象读取整数。当mysqli实例化mysqli_result对象时,完成对象中的行计数。

事实是,此属性/函数在大多数情况下是无用的。要获取数据库中的行数,您需要运行SELECT COUNT(*)。这绝对比获取所有结果并计数行要快。从MySQL发送到PHP的数据越少越好。