Неужели Mysqli процедурные более быстрее в простых запросах, чем PDO класс, я уверен, не используя входные параметры, потому что я не в отношении о SQL инъекцияхMysqli процедурный против PDO?
ответ
Вам просто удалось выбросить в миску все несравненные дела.
«процедурный vs.OOP» не имеет ничего общего с входными параметрами, хотя ни один из них не имеет ничего общего с производительностью.
Для родового «MySQLi против PDO» вопрос, который я могу только процитировать мой other answer:
- Если вы понимаете необходимость использования уровня абстракции в базах данных и ищет API, чтобы создать одну на , mysqli - хороший выбор, так как он действительно поддерживает многие функции, связанные с mysql.
Если, как и большинство людей PHP, вы используете необработанные API-вызовы прямо в коде приложения (что является по существу неправильной практикой) - PDO - единственный выбор, так как этот API претендует на роль полу-DAL , еще не завершен, но предлагает множество важных функций, с двумя из них делает PDO критически отличается от MySQLi:
- в отличие от MySQLi, PDO может связать PLACEHOLDERS значением, что делает динамически построенные запросы осуществимые без нескольких экранов довольно запутанна код.
- В отличие от mysqli, PDO всегда может возвращать результат запроса в простой обычный массив, в то время как mysqli может делать это только на установках mysqlnd.
Там нет никакой разницы в производительности между mysqli_query('SELECT 1')
и $pdo->query('SELECT 1')
. Второй - обертка вокруг первого, но потеря производительности, которую он несет, не имеет значения по сравнению с общей скоростью запроса, вы не должны выбирать тот или иной из-за скорости.
Также обратите внимание, что подготовленные операторы выполняются быстрее, если вы повторяете один и тот же запрос несколько раз подряд, даже если нет параметров, поскольку база данных должна только скомпилировать инструкцию один раз в начале, а не при каждом выполнении.
Есть ли у вас какие-либо цифры, чтобы доказать свое «процедурное ускорение»? – deceze
@deceze: ошибка с моей стороны, я имел в виду подготовленное заявление. Я исправил это. Это быстрее, потому что база данных только «компилирует» запрос один раз. – Lepidosteus
Слишком плохо, такое последовательное выполнение происходит только один раз за 100 000 запросов. Не стоит упомянуть номер, на мой взгляд. –
- 1. MySQLi - OO или процедурный?
- 2. PHP Mysqli результаты Процедурный GET
- 3. Secure против SQL Injection - PDO, MySQLi
- 4. PDO против MySQLi. Как вы думаете? PHP
- 5. Mysqli Процедурный подготовленный отчет - ошибка INSERT
- 6. Неопределенная переменная на PHP MYSQLI Процедурный стиль
- 7. Mysqli fetch_assoc() цикл против загрузки Mysqli fetch_all()?
- 8. PDO против MYSQLI, подготовленных членов и параметров привязки
- 9. PHP PDO против стандартного теста производительности производительности mysqli
- 10. Изменение PDO в mysqli
- 11. Php? PDO или mySQLi
- 12. PHP PDO и MySQLi
- 13. Преобразование Mysqli в PDO
- 14. Mysqli to PDO conversion
- 15. PDO заменяет mysqli
- 16. Изучение mysqli и pdo
- 17. В чем разница между MySQLi и PDO?
- 18. ADOdb Lite против MySqli
- 19. Mysqli FETCH_ASSOC против fetch_array
- 20. Использование MySQLi вместе с PDO?
- 21. путаницы между PDO и MySQLi
- 22. перевод с PDO на MySQLI
- 23. Ошибка «Использовать mysqli или PDO»
- 24. Преобразование MySQLi в PDO bind_all
- 25. Что использовать? mySQLi или PDO?
- 26. Преобразование из mysqli в pdo
- 27. Сомнения безопасности: Mysqli vs PDO
- 28. Как преобразовать PDO в mysqli?
- 29. PHP Процедурный подготовленный отчет для многопользовательского запроса Mysqli
- 30. PHP MySQL для Mysqli проблем миграции (пользовательские функций, процедурный стиль)
Я не думаю, что тот или другой будет иметь значительные преимущества скорости - либо хорошо! Пока вы не используете устаревшие функции mysql, выберите либо. – halfer
на сервере php выполнение может быть быстрее? –
Я очень сомневаюсь, что разница в скорости между mysqli и pdo окажет какое-то влияние на ваше приложение, и если разница будет иметь такое большое влияние и быть критическим, я бы предложил использовать nosql вместо mysql, где вы можете поскольку увеличение производительности, вероятно, будет больше, чем разница между этими двумя параметрами. – Anigel