Какой самый эффективный драйвер использовать с ADODB для доступа к базе данных MySQL5? - PullRequest
1 голос
/ 10 октября 2009

Я уже давно использую ADODB для PHP в нескольких проектах, и мне нравится его простота использования и эффективность.

Мне никогда не было так любопытно, как lib получает доступ к данным, потому что вы знаете ... это просто работает :) Но сегодня я понял, что все еще полагаюсь на устаревшие драйверы MySQL4 ADODB. Я использую MySQL 5.x, и было бы лучше, если бы я начал использовать недавний драйвер с ADODB.

Но есть два драйвера, которые я мог бы использовать:

  • ADODB-mysqli.inc.php
  • ADODB-pdo_mysql.inc.php

Из того, что я прочитал, mysqli очень похож на старое расширение mysql, оптимизированное для MySQL5, в то время как PDO - это слой между PHP и различными системами БД (включая, конечно, MySQL).

Какой из этих драйверов вы используете? Как вы думаете, какой из них мне следует использовать, и что более важно, почему я должен предпочесть mysqli, а не PDO_mysql (или наоборот)?

Ответ: После нескольких дней и некоторого глубокого чтения кода я использовал драйвер "adodb-mysqli.inc.php". На сайте с большим количеством трафика я заметил, что нагрузка на БД несколько снизилась, а трафик сети между веб-сервером и сервером БД снизился примерно на 6,5%, что хорошо.

Драйвер PDO-mysql, вероятно, тоже довольно хорош, но, как сказано ниже, не имеет смысла использовать ADODB поверх PDO. Так вот, mysqli.

Ответы [ 2 ]

1 голос
/ 10 октября 2009

Все тесты указывают на то, что PDO - самый эффективный и самый быстрый драйвер. Однако я не знаю, имеет ли смысл использовать PDO поверх AdoDB

0 голосов
/ 10 октября 2009

Я могу ошибаться, но из того, что я помню, глядя на драйверы, связывание переменных в выражениях эмулируется в драйвере adodb mysqli, несмотря на то, что расширение mysqli поддерживает связывание. Однако драйвер pdo_mysql выполняет привязку с использованием расширения, поэтому, если вы используете это, вы можете получить более высокую производительность.

Также стоит добавить, что, я думаю, что если вы хотите использовать драйверы pdo с adodb, вам нужно использовать другой синтаксис соединения и передать DSN, в документации был пример. Я изо всех сил пытался заставить это работать некоторое время, потому что я не читал это.

...