PDO: разница между rowCount () и SQL COUNT (столбец) - PullRequest
0 голосов
/ 15 марта 2011

Мне просто интересно узнать, лучше ли использовать метод класса PDO rowCount вместо SQL COUNT(col_name) для подсчета количества строк.

Существует ли рекомендуемая ситуация для каждой из них?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Одна большая разница? Отказ от ответственности на странице rowCount руководства :

Если последний оператор SQL, выполненный связанным PDOStatement, был оператором SELECT, некоторые базы данных могут возвращать количество строк, возвращаемых этим оператором . Однако это поведение не гарантируется для всех баз данных и на него нельзя полагаться для переносимых приложений.

Акцент добавлен.

Если вам нужно количество совпадающих записей в базе данных, используйте COUNT(). Если вам нужно количество строк, которое, как полагает драйвер базы данных, вам возвращает / количество затронутых строк в драйверах базы данных, поддерживающих эту концепцию, используйте PDO rowCount, но вы не можете гарантировать, что данные будут там, в зависимости от базового драйвера базы данных.

0 голосов
/ 15 марта 2011

Я бы порекомендовал rowCount, потому что он реализован в драйвере.COUNT () требует, чтобы MySQL выполнял дополнительную работу, которая может или не может быть проблемой в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...