2011-03-15 95 views
0

我只是想知道是否更好地使用PDO类rowCount方法而不是SQL COUNT(col_name)来计算行数。PDO:rowCount()和SQL COUNT(col)之间的区别

每个人是否存在一些推荐的情况?

+0

COUNT(col_name)返回为选择查询找到的某个条件的列数。受影响的行通常指更新,删除,插入语句。 COUNT是一个SQL函数,但rowCount是一个驱动程序功能,返回查询返回的行数。 – AbiusX 2011-03-15 17:29:22

+0

修复了谢谢 – vitto 2011-03-15 17:34:54

回答

1

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

如果由相关PDOStatement对象执行的最后一条SQL语句SELECT语句,一些数据库可能返回该声明返回的行数。但是,此行为不保证所有数据库,不应依赖便携式应用程序。

强调增加。

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

0

我会推荐rowCount,因为它是在驱动程序中实现的。 COUNT()要求mysql做额外的工作,这可能会或可能不会成为您实例中的问题。

相关问题