Files
doc-fr/reference/mysqlnd/overview.xml
2021-06-08 16:51:07 +01:00

139 lines
5.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a714378ed87cdbdbde3b10ded183e8df7b243cb4 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="mysqlnd.overview" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Introduction</title>
<para>
<emphasis role="bold">Ce que ce n'est pas</emphasis>
</para>
<para>
Bien que le pilote natif MySQL soit écrit comme une extension PHP, il est important
de noter qu'il ne fournit pas une nouvelle API au programmeur PHP. Les API programmeur
sont fournies par l'extension MySQL, <literal>mysqli</literal> et PDO
MySQL. Ces extensions peuvent maintenant utiliser les services du pilote natif MySQL pour communiquer
avec le serveur MySQL. Ainsi, vous ne devez pas considérer le pilote natif MySQL comme une API.
</para>
<para>
<emphasis role="bold">Pourquoi l'utiliser?</emphasis>
</para>
<para>
Utiliser le pilote natif MySQL offre bon nombre d'avantages par rapport à
la bibliothèque MySQL cliente.
</para>
<para>
L'ancienne bibliothèque MySQL cliente a été écrite par MySQL AB (maintenant
partie de Oracle Corporation) et a donc été publiée sous licence MySQL,
ce qui a eu pour conséquence de désactiver le support de MySQL par défaut
dans PHP? Vu que le pilote natif MySQL a été développé comme partie intégrante
du projet PHP, il est publié sous licence PHP, ce qui résout les soucis
de licence problématique dans le passé.
</para>
<para>
De plus, auparavant, vous deviez compiler les extensions de base de données
MySQL par rapport à une copie de la bibliothèque MySQL cliente, ce qui signifie que
vous deviez avoir MySQL d'installé sur la machine sur laquelle vous compiliez PHP à
partir des sources. Ainsi, quand votre application PHP était exécutée, les extensions
MySQL appelaient les fichiers de la bibliothèque MySQL cliente au démarrage, ceux-ci devant
être obligatoirement installés sur le système. Avec le pilote natif MySQL, ce n'est plus le cas
car il est inclus dans la distribution standard. Ainsi, vous n'aurez plus besoin d'avoir MySQL
installé pour compiler PHP ou exécuter des applications PHP faisant appel à une base de données.
</para>
<para>
Du fait que le pilote natif MySQL soit écrit comme une extension PHP, il est intimement
lié au cœur de PHP. Ceci implique une meilleure efficacité, notamment en ce qui concerne
l'utilisation de la mémoire, car le pilote utilise l'allocation mémoire de PHP et par
conséquent supporte les limites de mémoire. Utiliser le pilote natif MySQL aboutit à des
performances égales sinon meilleurs qu'avec la bibliothèque cliente MySQL, car l'utilisation
de la mémoire est beaucoup plus efficace. Le fait que lors de l'utilisation de la bibliothèque cliente
MySQL, chaque enregistrement est stockée deux fois en mémoire alors que le client natif MySQL ne les
stocké qu'une fois constitue un bon exemple de bonne gestion de la mémoire.
</para>
<note>
<title>Surveillance de l'utilisation mémoire</title>
<para>
En raison du fait que le driver natif MySQL utilise le système de gestion mémoire
de PHP, son utilisation mémoire peut être surveillé avec la fonction
<function>memory_get_usage</function>. Ceci n'est pas possible
avec la bibliothèque libmysqlclient car elle utilise la fonction C malloc() à
la place.
</para>
</note>
<para>
<emphasis role="bold">Fonctionnalités spéciales</emphasis>
</para>
<para>
Le pilote natif MySQL fournit aussi quelques fonctionnalités spéciales non
disponibles avec la bibliothèque cliente MySQL, listées ci-dessous :
</para>
<itemizedlist>
<listitem>
<para>
Des connexions persistantes améliorées
</para>
</listitem>
<listitem>
<para>
La fonction spéciale <function>mysqli_fetch_all</function>
</para>
</listitem>
<listitem>
<para>
Des appels aux statistiques de performance :
<function>mysqli_get_client_stats</function>,
<function>mysqli_get_connection_stats</function>
</para>
</listitem>
</itemizedlist>
<para>
Les statistiques de performances peuvent s'avérer très utiles pour identifier
des goulets d'étranglement de performances.
</para>
<para>
Le pilote natif MySQL fournit aussi des connexions persistantes lors de son
utilisation avec l'extension <literal>mysqli</literal>.
</para>
<para>
<emphasis role="bold">Le support de SSL</emphasis>
</para>
<para>
Le pilote natif MySQL (MySQL Native Driver) supporte SSL.
</para>
<para>
<emphasis role="bold">Le support du protocole compressé</emphasis>
</para>
<para>
Le pilote natif MySQL supporte le protocole client/serveur MySQL compressé.
L'extension <literal>ext/mysqli</literal> si configurée pour utiliser le pilote
natif MySQL peut aussi tirer avantage de cette fonctionnalité.
Il est à noter que <literal>PDO_MYSQL</literal> ne supporte
<emphasis>PAS</emphasis> la compression lorsqu'utilisé avec mysqlnd.
</para>
<para>
<emphasis role="bold">Support des pipes nommés</emphasis>
</para>
<para>
Les pipes nommés peuvent être utilisé pour se connecter sous Windows.
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->