Если я использую классы Zend_Db для абстрагирования своих запросов от серверной базы данных, имеет ли значение, какой драйвер mysql я использую, pdo_mysql или mysqli? Мое понимание pdo_mysql заключается в том, что он также обеспечивает абстракцию, поэтому я предполагаю, что если я использую Zend_Db, то я все равно не буду использовать дополнительные функции как часть mysqli. Однако является ли один быстрее другого с точки зрения производительности?
pdo_mysql против mysqli при использовании Zend_Db
Ответы (2)
Zend_Db
, вообще говоря, основан на PDO и его различных адаптерах, таких как pdo_mysql
.
Адаптер mysqli был разработан только для тех, кто использует серверы/хосты без PDO.
Я не думаю, что есть большая разница между pdo_mysql и mysqli, говоря о производительности; никогда не слышал ни об одном, так что даже если он и есть, он не должен быть таким большим.
Я хотел бы задать вопрос: какие адаптеры можно использовать в вашем приложении?
Учитывая, что и pdo_mysql
, и mysqli
позволяют подключаться к базе данных MySQL, переход от одного к другому должен быть довольно простым: нужно изменить одну строку в файле config.ini вашего приложения; и все должно работать...
Лично я, вероятно, воспользуюсь адаптером PDO и переключусь на mysqli только в случае необходимости, в зависимости от наличия PDO на моем сервере.
Но это больше потому, что я обычно использую PDO, чем по какой-либо другой "уважительной" причине ^^
Я не использовал классы Zend_DB, но в своих собственных (очень нестрогих) тестах я обнаружил, что PDO значительно быстрее, чем MySQLi.
http://www.robpoyntz.com/blog/?p=260