PDO::rowCount 与 COUNT(*) 性能比较
问题:
在带有行计数检查的 SELECT 查询中,哪个性能更好:使用 PDO::rowCount() 还是在查询中包含 COUNT(*)?另外,当在 id 字段上设置索引时,哪个选项更有效?
答案:
第一个问题:Count(*) 与 PDO ::rowCount()
在内部,MySQL 中的 COUNT() 分配最小的内存来仅存储计数结果,而 PHP 在 PDO::rowCount() 中处理整个结果集,为所有结果分配内存检索到的结果。因此,COUNT() 在 MySQL 中更快。
第二个问题:COUNT(id) 与 COUNT(*) 与索引
COUNT() 是即使在 id 字段上设置了索引,也优于 COUNT(id)。这是因为 COUNT() 经过优化,可以快速计算值,从而减少获取每一行的需要,而 COUNT(id) 需要访问每一行,可能会降低性能。
以上是哪个性能更好:带索引或不带索引的 PDO::rowCount() 或 COUNT(*)?的详细内容。更多信息请关注PHP中文网其他相关文章!