В этой заметке мы поговорим об альтернативном драйвере для доступа к СУБД MySQL через PHP. Его имя — MySQL Native Driver. PHP имеет три API для работы с MySQL: MySQL , MySQLi И ПДО .
Все три реализованы как расширения в C. Самый старый из этих API — MySQL .
Это расширение появилось в PHP 3 и прекрасно поддерживало версии MySQL младше 4.1 (версия < 4.1).
There are some difficulties with older versions (> =4.1).
API MySQL Он просто не поддерживает некоторые возможности новых версий MySQL. Затем появилось расширение MySQLi (вероятно, MySQL улучшен ).
Этот API поддерживает все новые возможности СУБД MySQL. Плюс к этому MySQLi позволяет использовать синтаксис OPP наряду с процедурным.
Расширение MySQLi поставляется с PHP начиная с версии 5. Третий API называется ПДО (Объекты данных PHP).
В общем смысле это не только API для MySQL, но и своего рода уровень абстракции от конкретной СУБД.
Как уже было сказано, ПДО поставляется как расширение PHP. Итак, вместе с этим расширением поставляются драйвера для конкретных СУБД: от SQLite до Oracle. Общим для этих API является то, что они используют одну и ту же библиотеку для прямого взаимодействия с MySQL. Они используют стандартную клиентскую библиотеку MySQL ( libmysql ).
Эта библиотека написана на C и, кстати, используется не только для клиентских приложений на PHP, но и на Perl, C/C++, Ruby и т.д. Итак, уже давно (кажется, с начала 2007 года) можно использовать MySQL Native Driver ( mysqlnd ).
Что это? Концептуально это замена libmysql .
И не зря он «Native» (родной, встроенный), так как вся его реализация тесно переплетена с PHP (на уровне языка C, конечно) и распространяется в соответствии с лицензией PHP. На самом деле прелесть в том, что начиная с PHP5.3/6 mysqlnd приходит на замену libmysql .
При этом API никак не пострадает, а для разработчика процесс перехода обещает быть прозрачным — весь ранее написанный код с использованием API MySQL , MySQLi И ПДО будет работать как часы.
Схематично это выглядит так:
Преимущества MySQL Native Driver заключаются в его природе, которая тесно связана с внутренними компонентами PHP. mysqlnd использует некоторые встроенные в PHP функции, что не может не сказаться на производительности.
В любом случае изучение внутренностей MySQL Native Driver, а также его преимуществ достойно отдельной заметки или даже статьи.
Я надеюсь, что эта вводная заметка о MySQL Native Driver будет вам хоть немного полезна.
Теги: #php #MySQL #api #Собственный драйвер MySQL #Chulan
-
Презентация Visual Studio 2010 В Казахстане
19 Oct, 24 -
О Карме В Этом Блоге
19 Oct, 24 -
Бизнес-Линчевание Лебедева
19 Oct, 24 -
Firefox 3 Бета 5 Уже Здесь
19 Oct, 24 -
Google Camera – Хайп Или Замена Зеркалке?
19 Oct, 24 -
Фанатский Сайт Wow Продан За Миллион
19 Oct, 24