PDO:rowCount()和SQL COUNT(col)之间的差异

时间:2011-03-15 17:26:32

标签: mysql count pdo

我只是想知道是否更好地使用PDO类rowCount方法而不是SQL COUNT(col_name)来计算行数。

每个人都有一些推荐的情况吗?

2 个答案:

答案 0 :(得分:1)

一个很大的区别?关于the rowCount manual page的免责声明:

  

如果关联的PDOStatement执行的最后一条SQL语句是SELECT语句,某些数据库可能会返回该语句返回的行数。但是,无法保证所有数据库的此行为,并且不应依赖于便携式应用程序。

强调补充。

如果您需要匹配的数据库中的记录数,请使用COUNT()。如果您需要数据库驱动程序认为它返回给您的行数/支持该概念的数据库驱动程序中受影响的行数,请使用PDO的rowCount,但不能保证数据将是那里,取决于底层的数据库驱动程序。

答案 1 :(得分:0)

我建议使用rowCount,因为它是在驱动程序中实现的。 COUNT()要求mysql执行额外的工作,这可能是您实例中的问题,也可能不是。