Spec-Zone .ru
спецификации, руководства, описания, API

21.9.5.1. Краткий обзор

Copyright 1997-2012 PHP Documentation Group.

Каково это не

Хотя MySQL Native Driver пишется как расширение PHP, важно отметить, что это не предоставляет новый API PHP программисту. API программиста для связи базы данных MySQL обеспечиваются расширением MySQL, mysqli и MYSQL PDO. Эти расширения могут теперь использовать службы MySQL Native Driver, чтобы связаться с MySQL Server. Поэтому, недопустимо думать о MySQL Native Driver как о API.

Почему использование это?

Используя MySQL Native Driver предлагает много преимуществ перед использованием MySQL Client Library.

Более старый MySQL Client Library был записан MySQL AB (теперь Oracle Corporation) и так был выпущен в соответствии с лицензией MySQL. Это в конечном счете привело к поддержке MySQL, отключаемой по умолчанию в PHP. Однако, MySQL Native Driver был разработан как часть проекта PHP, и поэтому выпускается в соответствии с лицензией PHP. Это удаляет лицензирование проблем, которые были проблематичны в прошлом.

Кроме того, в прошлом Вы должны были создать расширения базы данных MySQL против копии MySQL Client Library. Это обычно означало, что Вам нужно было установить MySQL на машине, где Вы создавали исходный код PHP. Кроме того, когда Ваше приложение PHP работало, расширения базы данных MySQL пригласят вниз к файлу библиотеки MySQL Client во время выполнения, таким образом, файл должен был быть установлен на Вашей системе. С MySQL Native Driver, который больше не имеет место, поскольку он включается как часть стандартного распределения. Таким образом, Вы не нуждаетесь в MySQL, установленном, чтобы создать PHP или выполнить приложения базы данных PHP.

Поскольку MySQL Native Driver пишется как расширение PHP, это сильно связано с работами PHP. Это приводит к усилениям в эффективности, особенно когда дело доходит до использования памяти, поскольку драйвер использует систему управления памятью PHP. Это также поддерживает предел памяти PHP. Используя MySQL Native Driver приводит к сопоставимой или лучшей производительности чем использование MySQL Client Library, это всегда гарантирует наиболее эффективное использование памяти. Одним примером эффективности памяти является факт, что при использовании MySQL Client Library, каждая строка сохранена в памяти дважды, тогда как с MySQL Native Driver каждая строка только сохранена однажды в памяти.

Создание отчетов об использовании памяти

Поскольку MySQL Native Driver использует систему управления памятью PHP, ее использование памяти может быть прослежено с memory_get_usage. Это не возможно с libmysqlclient, потому что он использует функцию C malloc () вместо этого.

Специальные функции

MySQL Native Driver также обеспечивает некоторые специальные функции, не доступные, когда расширения базы данных MySQL используют MySQL Client Library. Эти специальные функции упоминаются ниже:

Средство статистики производительности, может оказаться, очень полезно в идентификации узких мест производительности.

MySQL Native Driver также учитывает персистентные соединения когда использующийся с mysqli расширение.

Поддержка SSL

MySQL Native Driver поддерживал SSL начиная с версии 5.3.3 PHP

Сжатая Поддержка Протокола

С PHP 5.3.2 MySQL Native Driver поддерживают сжатый клиент-серверный протокол. MySQL Native Driver не поддерживал это в 5.3.0 и 5.3.1. Расширения такой как ext/mysql, ext/mysqli, это конфигурируется, чтобы использовать MySQL Native Driver, может также использовать в своих интересах эту функцию. Отметьте это PDO_MYSQL НЕ поддерживает сжатие когда использующийся вместе с mysqlnd.

Поддержка Именованных каналов

Поддержка именованных каналов Windows была добавлена в версии 5.4.0 PHP.