PDO:rowCount() 和 SQL COUNT(col) 之间的区别
我只是想知道使用 PDO 类 rowCount
方法而不是 SQL COUNT(col_name)
来计算行数是否更好。
每种情况是否都存在一些推荐的情况?
I just wonder to know if is better to use PDO class rowCount
method instead of SQL COUNT(col_name)
to count the number of rows.
Does exist some recommended situation for each one?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一大区别?
rowCount
手册页上的免责声明:添加了强调。
如果您需要数据库中匹配的记录数,请使用
COUNT()
。如果您需要数据库驱动程序认为它返回给您的行数/支持该概念的数据库驱动程序中受影响的行数,则使用 PDO 的rowCount
,但您不能保证数据将在那里,具体取决于底层数据库驱动程序。One big difference? This disclaimer on the
rowCount
manual page:Emphasis added.
If you need the number of records in the database that match, use
COUNT()
. If you need the number of rows that the database driver believes it's returning to you / the number of affected rows in the database drivers that support that concept, then use PDO'srowCount
, but you can't guarantee that data will be there, depending on the underlying database driver.我会推荐 rowCount 因为它是在驱动程序中实现的。 COUNT() 要求 mysql 做额外的工作,这在您的实例中可能会或可能不会出现问题。
I would recommend rowCount because it's implemented in the driver. COUNT() requires mysql do additional work which may or may not be a problem in your instance.