1
0
mirror of https://github.com/php/doc-fr.git synced 2026-04-29 01:33:24 +02:00
Files

1653 lines
60 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9598935f21bc472f22383fb989625f0b22785331 Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="mysqlnd.stats">
<title>Statistiques</title>
<para>
Le pilote natif MySQL contient un support pour la collecte de statistiques
sur la communication entre le client et le serveur. Les statistiques
collectées sont de deux types principaux :
<itemizedlist>
<listitem>
<simpara>Statistiques du client</simpara>
</listitem>
<listitem>
<simpara>Statistiques de la connexion</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Lorsque l'extension <link linkend="book.mysqli">mysqli</link> est utilisée,
ces statistiques peuvent être obtenues via deux appels API :
<itemizedlist>
<listitem>
<simpara><function>mysqli_get_client_stats</function></simpara>
</listitem>
<listitem>
<simpara><function>mysqli_get_connection_stats</function></simpara>
</listitem>
</itemizedlist>
</para>
<note>
<simpara>
Les statistiques sont agrégées parmi toutes les extensions qui utilisent
le pilote natif MySQL. Par exemple, si l'extension <link linkend="book.mysqli">mysqli</link>
et le pilote PDO MySQL sont tous deux configurés pour utiliser MySQLnd,
alors les appels de fonctions de <link linkend="book.mysqli">mysqli</link>
et les appels de méthodes de PDO affecteront les statistiques.
</simpara>
<simpara>
Il n'y a aucun moyen de savoir combien un certain appel d'API d'une
extension qui a été compilée sans le pilote natif MySQL a impacté une
certaine statistique.
</simpara>
</note>
<section xml:id="mysqlnd.stats.retrieve" annotations="chunk:false">
<title>Récupération des statistiques</title>
<simpara>
Les statistiques du client peuvent être récupérées en appelant la
fonction <function>mysqli_get_client_stats</function>.
</simpara>
<simpara>
Les statistiques de connexion peuvent être récupérées en appelant la
fonction <function>mysqli_get_connection_stats</function>.
</simpara>
<simpara>
Les deux fonctions retournent un tableau associatif,
où le nom d'une statistique est la clé pour les
données statistiques correspondantes.
</simpara>
</section>
<section xml:id="mysqlnd.stats.statistics" annotations="chunk:false">
<title>Statistiques du pilote natif MySQL</title>
<simpara>
La plupart des statistiques sont associées à une connexion, mais certaines
sont associées au processus, auquel cas cela sera mentionné.
<!-- Process running the server? -->
</simpara>
<simpara>
Les statistiques suivantes sont produites par le pilote natif MySQL :
</simpara>
<variablelist>
<title>Statistiques liées au réseau</title>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-sent">
<term><literal>bytes_sent</literal></term>
<listitem>
<simpara>
Le nombre d'octets envoyés de PHP au serveur MySQL.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received">
<term><literal>bytes_received</literal></term>
<listitem>
<simpara>
Le nombre d'octets reçus du serveur MySQL.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-sent">
<term><literal>packets_sent</literal></term>
<listitem>
<simpara>
Le nombre de paquets envoyés par le protocole client-serveur MySQL.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received">
<term><literal>packets_received</literal></term>
<listitem>
<simpara>
Le nombre de paquets reçus du protocole client-serveur MySQL.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.protocol-overhead-in">
<term><literal>protocol_overhead_in</literal></term>
<listitem>
<simpara>
Le surdébit du protocole client-serveur MySQL en octets pour le trafic entrant.
Actuellement, seul l'en-tête de paquet (4 octets) est considéré comme un surdébit.
<code>protocol_overhead_in = packets_received * 4</code>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.protocol-overhead-out">
<term><literal>protocol_overhead_out</literal></term>
<listitem>
<simpara>
Le surdébit du protocole client-serveur MySQL en octets pour le trafic sortant.
Actuellement, seul l'en-tête de paquet (4 octets) est considéré comme un surdébit.
<code>protocol_overhead_out = packets_received * 4</code>
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-ok-packet">
<term><literal>bytes_received_ok_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des paquets OK du protocole client-serveur MySQL reçus.
Les paquets OK peuvent contenir un message d'état.
La longueur du message d'état peut varier et donc la taille d'un paquet OK
n'est pas fixe.
</simpara>
<note>
<simpara>
La taille totale en octets inclut la taille de l'en-tête du paquet
(4 octets, voir le surdébit du protocole).
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-ok">
<term><literal>packets_received_ok</literal></term>
<listitem>
<simpara>
Le nombre de paquets OK du protocole client-serveur MySQL reçus.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-eof-packet">
<term><literal>bytes_received_eof_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des paquets EOF du protocole client-serveur MySQL reçus.
La taille d'un paquet EOF peut varier en fonction de la version du serveur.
De plus, un paquet EOF peut transporter un message d'erreur.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.bytes-received-ok-packet')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-eof">
<term><literal>packets_received_eof</literal></term>
<listitem>
<simpara>
Le nombre de paquets EOF du protocole client-serveur MySQL reçus.
Nombre de paquets EOF du protocole client-serveur MySQL.
</simpara>
<simpara>
Comme pour d'autres statistiques de paquets, le nombre de paquets sera
augmenté même si PHP ne reçoit pas le paquet attendu mais, par exemple,
un message d'erreur.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-rset-header-packet">
<term><literal>bytes_received_rset_header_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des en-têtes de paquets de résultats du protocole client-serveur
MySQL reçus.
La taille de l'en-tête de paquet peut varier en fonction de la charge utile
(<literal>LOAD LOCAL INFILE</literal>, <literal>INSERT</literal>,
<literal>UPDATE</literal>, <literal>SELECT</literal>, message d'erreur).
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.bytes-received-ok-packet')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-rset-header">
<term><literal>packets_received_rset_header</literal></term>
<listitem>
<simpara>
Le nombre de paquets d'en-têtes de résultats du protocole client-serveur MySQL reçus.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-rset-field-meta-packet">
<term><literal>bytes_received_rset_field_meta_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des paquets de métadonnées de résultats du protocole client-serveur
(informations de champ).
Bien sûr, la taille varie avec les champs du résultat.
Le paquet peut également transporter une erreur ou un paquet EOF en cas de
COM_LIST_FIELDS.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.bytes-received-ok-packet')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-rset-field-meta">
<term><literal>packets_received_rset_field_meta</literal></term>
<listitem>
<simpara>
Le nombre de paquets de métadonnées de résultats du protocole client-serveur reçus
(informations de champ).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-rset-row-packet">
<term><literal>bytes_received_rset_row_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des données de ligne de résultats du protocole client-serveur
MySQL reçues.
Le paquet peut également transporter une erreur ou un paquet EOF.
On peut calculer le nombre d'erreurs et de paquets EOF en soustrayant
<literal>rows_fetched_from_server_normal</literal>
et <literal>rows_fetched_from_server_ps</literal>
de <literal>bytes_received_rset_row_packet</literal>.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.bytes-received-ok-packet')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-rset-row">
<term><literal>packets_received_rset_row</literal></term>
<listitem>
<simpara>
Le nombre de paquets de données de ligne de résultats du protocole client-serveur MySQL reçus.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-prepare-response-packet">
<term><literal>bytes_received_prepare_response_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des paquets OK du protocole client-serveur MySQL reçus pour
l'initialisation des déclarations préparées (paquets d'initialisation de déclaration préparée).
Le paquet peut également transporter une erreur.
La taille du paquet dépend de la version de MySQL.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.bytes-received-ok-packet')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-prepare-response">
<term><literal>packets_received_prepare_response</literal></term>
<listitem>
<simpara>
Le nombre de paquets OK du protocole client-serveur MySQL reçus pour
l'initialisation des déclarations préparées (paquets d'initialisation de déclaration préparée).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-change-user-packet">
<term><literal>bytes_received_change_user_packet</literal></term>
<listitem>
<simpara>
La taille totale en octets des paquets COM_CHANGE_USER du protocole client-serveur MySQL reçus.
Le paquet peut également transporter une erreur ou un paquet EOF.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.bytes-received-ok-packet')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-received-change-user">
<term><literal>packets_received_change_user</literal></term>
<listitem>
<simpara>
Le nombre de paquets COM_CHANGE_USER du protocole client-serveur MySQL reçus.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.packets-sent-command">
<term><literal>packets_sent_command</literal></term>
<listitem>
<simpara>
Le nombre de commandes MySQL envoyées par PHP au serveur MySQL.
</simpara>
<simpara>
Il n'y a aucun moyen de savoir quelles commandes spécifiques et combien
d'entre elles ont été envoyées.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-real-data_normal">
<term><literal>bytes_received_real_data_normal</literal></term>
<listitem>
<simpara>
Le nombre d'octets de charge utile récupérés par le client PHP depuis
<literal>mysqlnd</literal> en utilisant le protocole texte.
</simpara>
<simpara>
Ceci est la taille des données réelles contenues dans les ensembles de résultats
qui ne proviennent pas de déclarations préparées et qui ont été récupérées par le client PHP.
</simpara>
<simpara>
Il est à noter que bien qu'un ensemble de résultats complet ait pu être extrait de MySQL
par <literal>mysqlnd</literal>, cette statistique ne compte que les données réelles
extraites de <literal>mysqlnd</literal> par le client PHP.
</simpara>
<para>
Un exemple de séquence de code qui augmentera la valeur est le suivant :
<programlisting>
<![CDATA[
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();
]]>
</programlisting>
Chaque opération de récupération augmentera la valeur.
</para>
<para>
Cependant, la statistique ne sera pas augmentée si l'ensemble de résultats est uniquement
mis en mémoire tampon sur le client, mais non extrait, comme dans l'exemple suivant :
<programlisting>
<![CDATA[
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();
]]>
</programlisting>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bytes-received-real-data-ps">
<term><literal>bytes_received_real_data_ps</literal></term>
<listitem>
<simpara>
Le nombre d'octets de charge utile récupérés par le client PHP depuis
<literal>mysqlnd</literal> en utilisant le protocole de déclaration préparée.
</simpara>
<simpara>
Ceci est la taille des données réelles contenues dans les ensembles de résultats
qui proviennent de déclarations préparées et qui ont été récupérées par le client PHP.
</simpara>
<simpara>
La valeur ne sera pas augmentée si l'ensemble de résultats n'est pas lu par le client PHP.
</simpara>
<simpara>
Il est à noter que bien qu'un ensemble de résultats complet ait pu être extrait de MySQL
par <literal>mysqlnd</literal>, cette statistique ne compte que les données réelles
extraites de <literal>mysqlnd</literal> par le client PHP.
</simpara>
<simpara>
Voir également <literal>bytes_received_real_data_normal</literal>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Statistiques liées aux ensembles de résultats</title>
<varlistentry xml:id="mysqlnd.stats.statistics.result-set-queries">
<term><literal>result_set_queries</literal></term>
<listitem>
<simpara>
Le nombre de requêtes qui ont généré un ensemble de résultats.
Exemple de requêtes qui génèrent un ensemble de résultats :
<literal>SELECT</literal>, <literal>SHOW</literal>.
</simpara>
<simpara>
La statistique ne sera pas augmentée s'il y a une erreur lors de la lecture
de l'en-tête du paquet de l'ensemble de résultats.
</simpara>
<note>
<simpara>
Cette statistique peut être utilisée comme mesure indirecte du nombre de
Cela peut aider à identifier un client qui provoque une charge élevée sur la base de données.
requêtes que PHP a envoyées à MySQL.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.non-result-set-queries">
<term><literal>non_result_set_queries</literal></term>
<listitem>
<simpara>
Le nombre de requêtes qui n'ont pas généré d'ensemble de résultats.
Exemples de requêtes qui ne génèrent pas d'ensemble de résultats :
<literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>LOAD DATA</literal>.
</simpara>
<simpara>
Cette statistique ne sera pas augmentée s'il y a une erreur lors de la lecture
de l'en-tête du paquet de l'ensemble de résultats.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.result-set-queries')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.no-index-used">
<term><literal>no_index_used</literal></term>
<listitem>
<simpara>
Le nombre de requêtes qui ont généré un ensemble de résultats mais n'ont pas utilisé d'index.
(Voir également l'option de démarrage de mysqld <literal>--log-queries-not-using-indexes</literal>).
</simpara>
<note>
<simpara>
Ces requêtes peuvent être signalées via une exception en appelant
<code>mysqli_report(MYSQLI_REPORT_INDEX);</code>.
Il est possible de les signaler via un avertissement en appelant
<code>mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT);</code>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.bad-index-used">
<term><literal>bad_index_used</literal></term>
<listitem>
<simpara>
Le nombre de requêtes qui ont généré un ensemble de résultats et n'ont pas utilisé un bon index.
(Voir également l'option de démarrage de mysqld <literal>--log-slow-queries</literal>).
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.no-index-used')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.slow-queries">
<term><literal>slow_queries</literal></term>
<listitem>
<simpara>
Les déclarations SQL qui ont pris plus de <literal>long_query_time</literal>
secondes à s'exécuter et ont nécessité au moins
<literal>min_examined_row_limit</literal> lignes à examiner.
</simpara>
<caution>
<simpara>
Pas signalé via <function>mysqli_report</function>.
</simpara>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.buffered-sets">
<term><literal>buffered_sets</literal></term>
<listitem>
<simpara>
Le nombre d'ensembles de résultats mis en mémoire tampon retournés par des requêtes normales
(c'est-à-dire pas via une déclaration préparée).
</simpara>
<para>
Exemple d'appels API qui mettront en mémoire tampon les ensembles de résultats sur le client :
<simplelist type="inline">
<member><function>mysqli_query</function></member>
<member><function>mysqli_store_result</function></member>
<member><function>mysqli_stmt_get_result</function></member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.unbuffered-sets">
<term><literal>unbuffered_sets</literal></term>
<listitem>
<simpara>
Le nombre d'ensembles de résultats non mis en mémoire tampon retournés par des requêtes normales
(c'est-à-dire pas via une déclaration préparée).
</simpara>
<para>
Exemple d'appels API qui ne mettront pas en mémoire tampon les ensembles de résultats sur le client :
<simplelist type="inline">
<member><function>mysqli_use_result</function></member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.ps-buffered-sets">
<term><literal>ps_buffered_sets</literal></term>
<listitem>
<simpara>
Le nombre d'ensembles de résultats mis en mémoire tampon retournés par des déclarations préparées.
</simpara>
<para>
Exemple d'appels API qui mettront en mémoire tampon les ensembles de résultats sur le client :
<simplelist type="inline">
<member><function>mysqli_stmt_store_result</function></member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.ps-unbuffered-sets">
<term><literal>ps_unbuffered_sets</literal></term>
<listitem>
<simpara>
Le nombre d'ensembles de résultats non mis en mémoire tampon retournés par des déclarations préparées.
</simpara>
<simpara>
Par défaut les déclarations préparées ne sont pas mises en mémoire tampon,
ainsi la plupart des déclarations préparées seront comptabilisées dans cette statistique.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.flushed-normal-sets">
<term><literal>flushed_normal_sets</literal></term>
<listitem>
<simpara>
Le nombre de jeux de résultats retournés par des requêtes normales
(c'est-à-dire pas via une déclaration préparée) avec des données non lues qui ont été
silencieusement vidées.
</simpara>
<note>
<simpara>
Le vidage se produit uniquement avec des ensembles de résultats non mis en mémoire tampon.
</simpara>
<simpara>
Les ensembles de résultats non mis en mémoire tampon doivent être récupérés complètement avant
qu'une nouvelle requête puisse être exécutée sur la connexion, sinon MySQL lancera une erreur.
Si l'application ne récupère pas toutes les lignes d'un ensemble de résultats non mis en mémoire tampon,
mysqlnd récupère implicitement l'ensemble de résultats pour effacer la ligne.
</simpara>
<simpara>
Voir également <literal>rows_skipped_normal</literal>, <literal>rows_skipped_ps</literal>.
</simpara>
<para>
Quelques causes possibles pour un vidage implicite :
<itemizedlist>
<listitem>
<simpara>
Application cliente défectueuse
</simpara>
</listitem>
<listitem>
<simpara>
Client s'est arrêté de lire après avoir trouvé ce qu'il cherchait
mais a fait calculer à MySQL plus de lignes que nécessaire
</simpara>
</listitem>
<listitem>
<simpara>
L'application client s'est arrêtée de manière inattendue
</simpara>
</listitem>
</itemizedlist>
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.flushed-ps-sets">
<term><literal>flushed_ps_sets</literal></term>
<listitem>
<simpara>
Le nombre de jeux de résultats retournés par des déclarations préparées
avec des données non lues qui ont été silencieusement vidées.
</simpara>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('mysqlnd.stats.statistics.flushed-normal-sets')/db:listitem/db:note)">
<xi:fallback/>
</xi:include>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.ps-prepared-never-executed">
<term><literal>ps_prepared_never_executed</literal></term>
<listitem>
<simpara>
Le nombre de déclarations préparées préparées mais jamais exécutées.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.ps-prepared-once-executed">
<term><literal>ps_prepared_once_executed</literal></term>
<listitem>
<simpara>
Le nombre de déclarations préparées exécutées une seule fois.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-fetched-from-server-normal">
<term><literal>rows_fetched_from_server_normal</literal></term>
<term><literal>rows_fetched_from_server_ps</literal></term>
<listitem>
<simpara>
Le nombre total de lignes d'ensemble de résultats récupérées du serveur.
Cela inclut les lignes qui n'ont pas été lues par le client mais
ont été implicitement récupérées en raison d'ensembles de résultats non mis en mémoire tampon vidés.
</simpara>
<simpara>
Voir également <literal>packets_received_rset_row</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-buffered-from-server-normal">
<term><literal>rows_buffered_from_client_normal</literal></term>
<listitem>
<simpara>
Le nombre total de lignes mises en mémoire tampon provenant d'une requête normale.
</simpara>
<simpara>
Ceci est le nombre de lignes qui ont été récupérées de MySQL et mises en mémoire tampon sur le client.
</simpara>
<para>
Exemple de requêtes qui mettront en mémoire tampon les ensembles de résultats :
<simplelist>
<member><function>mysqli_query</function></member>
<member><function>mysqli_store_result</function></member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-buffered-from-client-ps">
<term><literal>rows_buffered_from_client_ps</literal></term>
<listitem>
<simpara>
Equivalent à <literal>rows_buffered_from_client_normal</literal>
mais pour les déclarations préparées.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-fetched-from-client-normal-buffered">
<term><literal>rows_fetched_from_client_normal_buffered</literal></term>
<listitem>
<simpara>
Le nombre total de lignes récupérées par le client à partir d'un ensemble de résultats mis en mémoire tampon
créé par une requête normale.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-fetched-from-client-ps-buffered">
<term><literal>rows_fetched_from_client_ps_buffered</literal></term>
<listitem>
<simpara>
Le nombre total de lignes récupérées par le client à partir d'un ensemble de résultats mis en mémoire tampon
créé par une déclaration préparée.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-fetched-from-client-normal-unbuffered">
<term><literal>rows_fetched_from_client_normal_unbuffered</literal></term>
<listitem>
<simpara>
Le nombre total de lignes récupérées par le client à partir d'un ensemble de résultats non mis en mémoire tampon
créé par une requête normale.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-fetched-from-client-ps-unbuffered">
<term><literal>rows_fetched_from_client_ps_unbuffered</literal></term>
<listitem>
<simpara>
Le nombre total de lignes récupérées par le client à partir d'un ensemble de résultats non mis en mémoire tampon
créé par une déclaration préparée.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.rows-fetched-from-client-ps-cursor">
<term><literal>rows_fetched_from_client_ps_cursor</literal></term>
<listitem>
<simpara>
Le nombre total de lignes récupérées par le client à partir d'un curseur créé
par une déclaration préparée.
</simpara>
</listitem>
</varlistentry>
<!-- TODO: This seems to actually be supported, check and document -->
<varlistentry xml:id="mysqlnd.stats.statistics.rows-skipped-normal">
<term><literal>rows_skipped_normal</literal></term>
<term><literal>rows_skipped_ps</literal></term>
<listitem>
<simpara>
Réservé pour une utilisation future (actuellement non pris en charge).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.copy-on-write">
<term><literal>copy_on_write_saved</literal></term>
<term><literal>copy_on_write_performed</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
<simpara>
Avec mysqlnd, les variables retournées par les extensions pointent vers mysqlnd
tampons de résultats internes.
Si les données ne sont pas modifiées, les données extraites ne sont conservées qu'une seule fois en mémoire.
Cependant, toute modification des données nécessitera à mysqlnd de réaliser
une opération de copie-sur-écriture.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.free-result">
<term><literal>explicit_free_result</literal></term>
<term><literal>implicit_free_result</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de connexion et de processus.
</simpara>
<simpara>
Le nombre total de résultats libérés.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-null">
<term><literal>proto_text_fetched_null</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_NULL</literal>
récupérées à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-null">
<term><literal>proto_binary_fetched_null</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_NULL</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-bit">
<term><literal>proto_text_fetched_bit</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_BIT</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-bit">
<term><literal>proto_binary_fetched_bit</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_BIT</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-tinyint">
<term><literal>proto_text_fetched_tinyint</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TINY</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-tinyint">
<term><literal>proto_binary_fetched_tinyint</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TINY</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-short">
<term><literal>proto_text_fetched_short</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_SHORT</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-short">
<term><literal>proto_binary_fetched_short</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_SHORT</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-int24">
<term><literal>proto_text_fetched_int24</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_INT24</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-int24">
<term><literal>proto_binary_fetched_int24</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_INT24</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-int">
<term><literal>proto_text_fetched_int</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_LONG</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-int">
<term><literal>proto_binary_fetched_int</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_LONG</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-bigint">
<term><literal>proto_text_fetched_bigint</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_LONGLONG</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-bigint">
<term><literal>proto_binary_fetched_bigint</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_LONGLONG</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-decimal">
<term><literal>proto_text_fetched_decimal</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DECIMAL</literal>, or <literal>MYSQL_TYPE_NEWDECIMAL</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-decimal">
<term><literal>proto_binary_fetched_decimal</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DECIMAL</literal>, or <literal>MYSQL_TYPE_NEWDECIMAL</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-float">
<term><literal>proto_text_fetched_float</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_FLOAT</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-float">
<term><literal>proto_binary_fetched_float</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_FLOAT</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-double">
<term><literal>proto_text_fetched_double</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DOUBLE</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-double">
<term><literal>proto_binary_fetched_double</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DOUBLE</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-date">
<term><literal>proto_text_fetched_date</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DATE</literal>, ou <literal>MYSQL_TYPE_NEWDATE</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-date">
<term><literal>proto_binary_fetched_date</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DATE</literal>, ou <literal>MYSQL_TYPE_NEWDATE</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-year">
<term><literal>proto_text_fetched_year</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_YEAR</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-year">
<term><literal>proto_binary_fetched_year</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_YEAR</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-time">
<term><literal>proto_text_fetched_time</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TIME</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-time">
<term><literal>proto_binary_fetched_time</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TIME</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-datetime">
<term><literal>proto_text_fetched_datetime</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DATETIME</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-datetime">
<term><literal>proto_binary_fetched_datetime</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_DATETIME</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-timestamp">
<term><literal>proto_text_fetched_timestamp</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TIMESTAMP</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-timestamp">
<term><literal>proto_binary_fetched_timestamp</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TIMESTAMP</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-string">
<term><literal>proto_text_fetched_string</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_STRING</literal>, <literal>MYSQL_TYPE_VARSTRING</literal>, or <literal>MYSQL_TYPE_VARCHAR</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-string">
<term><literal>proto_binary_fetched_string</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_STRING</literal>, <literal>MYSQL_TYPE_VARSTRING</literal>, or <literal>MYSQL_TYPE_VARCHAR</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-blob">
<term><literal>proto_text_fetched_blob</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TINY_BLOB</literal>,
<literal>MYSQL_TYPE_MEDIUM_BLOB</literal>,
ou <literal>MYSQL_TYPE_BLOB</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-blob">
<term><literal>proto_binary_fetched_blob</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_TINY_BLOB</literal>,
<literal>MYSQL_TYPE_MEDIUM_BLOB</literal>,
<literal>MYSQL_TYPE_LONG_BLOB</literal>,
ou <literal>MYSQL_TYPE_BLOB</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-enum">
<term><literal>proto_text_fetched_enum</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_ENUM</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-enum">
<term><literal>proto_binary_fetched_enum</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_ENUM</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-set">
<term><literal>proto_text_fetched_set</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_SET</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-set">
<term><literal>proto_binary_fetched_set</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_SET</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-geometry">
<term><literal>proto_text_fetched_geometry</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_GEOMETRY</literal>
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-geometry">
<term><literal>proto_binary_fetched_geometry</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_GEOMETRY</literal>
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-text-fetched-other">
<term><literal>proto_text_fetched_other</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de types
<literal>MYSQL_TYPE_<replaceable>*</replaceable></literal>
non listés précédemment
récupéré à partir d'une requête normale (protocole texte MySQL).
</simpara>
<note>
<simpara>
Dans la théorie, cela devrait toujours être <literal>0</literal>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.proto-binary-fetched-other">
<term><literal>proto_binary_fetched_other</literal></term>
<listitem>
<simpara>
Le nombre total de colonnes de type
<literal>MYSQL_TYPE_<replaceable>*</replaceable></literal>
non listés précédemment
récupéré à partir d'une déclaration préparée (protocole binaire MySQL).
</simpara>
<note>
<simpara>
Dans la théorie, cela devrait toujours être <literal>0</literal>.
</simpara>
</note>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Statistiques liées aux connexions</title>
<varlistentry xml:id="mysqlnd.stats.statistics.connect-success">
<term><literal>connect_success</literal></term>
<listitem>
<simpara>
Le nombre total de tentatives de connexion réussies.
</simpara>
<note>
<simpara>
<literal>connect_success</literal> contient la somme des tentatives de connexion
réussies persistantes et non persistantes.
Par conséquent, le nombre de tentatives de connexion non persistantes réussies
est <literal>connect_success - pconnect_success</literal>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.pconnect-success">
<term><literal>pconnect_success</literal></term>
<listitem>
<simpara>
Le nombre total de tentatives de connexion persistantes réussies.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.connect-failure">
<term><literal>connect_failure</literal></term>
<listitem>
<simpara>
Le nombre total de tentatives de connexion échouées.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.reconnect">
<term><literal>reconnect</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.active-connections">
<term><literal>active_connections</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
<simpara>
Le nombre total de connexions persistantes et non persistantes actives.
</simpara>
<note>
<simpara>
Le nombre total de connexions non persistantes actives est
<literal>active_connections - active_persistent_connections</literal>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.active-persistent-connections">
<term><literal>active_persistent_connections</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
<simpara>
Le nombre total de connexions persistantes actives.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.explicit-close">
<term><literal>explicit_close</literal></term>
<listitem>
<simpara>
Le nombre total de connexions explicitement fermées.
</simpara>
<example>
<title>Exemples de fragments de code qui provoquent une fermeture explicite</title>
<itemizedlist>
<listitem>
<programlisting>
<![CDATA[
$link = new mysqli(/* ... */);
$link->close(/* ... */);
]]>
</programlisting>
</listitem>
<listitem>
<programlisting>
<![CDATA[
$link = new mysqli(/* ... */);
$link->connect(/* ... */);
]]>
</programlisting>
</listitem>
</itemizedlist>
</example>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.implicit-close">
<term><literal>implicit_close</literal></term>
<listitem>
<simpara>
Le nombre total de connexions implicitement fermées.
</simpara>
<example>
<title>Exemples de fragments de code qui provoquent une fermeture implicite</title>
<itemizedlist>
<listitem>
<programlisting>
<![CDATA[
$link = new mysqli(/* ... */);
$link->real_connect(/* ... */);
]]>
</programlisting>
</listitem>
<listitem>
<programlisting>
<code>unset($link)</code>
</programlisting>
</listitem>
<listitem>
<simpara>
Connexion persistante: une connexion groupée a été créée avec
real_connect et il peut y avoir des options inconnues définies - fermer
implicitement pour éviter de retourner une connexion avec des options inconnues
</simpara>
</listitem>
<listitem>
<simpara>
Connexion persistante: ping/change_user échoue et ext/mysqli
ferme la connexion
</simpara>
</listitem>
<listitem>
<simpara>
Fin de l'exécution du script : fermeture des connexions qui n'ont pas été
fermées par l'utilisateur
</simpara>
</listitem>
</itemizedlist>
</example>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.disconnect-close">
<term><literal>disconnect_close</literal></term>
<listitem>
<simpara>
Échecs de connexion indiqués par l'appel à l'API C
<literal>mysql_real_connect</literal> lors d'une tentative
d'établissement de connexion.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.in-middle-of-command-close">
<term><literal>in_middle_of_command_close</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
<simpara>
Une connexion a été fermée au milieu de l'exécution d'une commande
(ensembles de résultats non récupérés, après l'envoi d'une requête et
avant de récupérer une réponse, pendant la récupération de données, pendant
le transfert de données avec LOAD DATA).
</simpara>
<warning>
<simpara>
Sauf si des requêtes asynchrones sont utilisées, cela ne devrait se produire
que si l'application PHP s'est terminée de manière inattendue et que PHP
ferme automatiquement la connexion.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.init-command-executed-count">
<term><literal>init_command_executed_count</literal></term>
<listitem>
<simpara>
Le nombre total d'exécutions de commandes d'initialisation.
Par exemple: <code>mysqli_options(MYSQLI_INIT_COMMAND , $value)</code>.
</simpara>
<simpara>
Le nombre d'exécutions réussies est
<literal>init_command_executed_count - init_command_failed_count</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.init-command-failed-count">
<term><literal>init_command_failed_count</literal></term>
<listitem>
<simpara>
Le nombre total d'échecs d'exécution de commandes d'initialisation.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title><literal>COM_*</literal> Statistiques liées aux commandes</title>
<varlistentry xml:id="mysqlnd.stats.statistics.com">
<term><literal>com_quit</literal></term>
<term><literal>com_init_db</literal></term>
<term><literal>com_query</literal></term>
<term><literal>com_field_list</literal></term>
<term><literal>com_create_db</literal></term>
<term><literal>com_drop_db</literal></term>
<term><literal>com_refresh</literal></term>
<term><literal>com_shutdown</literal></term>
<term><literal>com_statistics</literal></term>
<term><literal>com_process_info</literal></term>
<term><literal>com_connect</literal></term>
<term><literal>com_process_kill</literal></term>
<term><literal>com_debug</literal></term>
<term><literal>com_ping</literal></term>
<term><literal>com_time</literal></term>
<term><literal>com_delayed_insert</literal></term>
<term><literal>com_change_user</literal></term>
<term><literal>com_binlog_dump</literal></term>
<term><literal>com_table_dump</literal></term>
<term><literal>com_connect_out</literal></term>
<term><literal>com_register_slave</literal></term>
<term><literal>com_stmt_prepare</literal></term>
<term><literal>com_stmt_execute</literal></term>
<term><literal>com_stmt_send_long_data</literal></term>
<term><literal>com_stmt_close</literal></term>
<term><literal>com_stmt_reset</literal></term>
<term><literal>com_stmt_set_option</literal></term>
<term><literal>com_stmt_fetch</literal></term>
<term><literal>com_daemon</literal></term>
<listitem>
<simpara>
Le nombre total de tentatives d'envoi d'une certaine commande
<literal>COM_*</literal> de PHP à MySQL.
</simpara>
<simpara>
La statistique est incrémentée après avoir vérifié la ligne et immédiatement
avant d'envoyer le paquet de protocole client serveur MySQL correspondant.
</simpara>
<caution>
<simpara>
Si MySQLnd échoue à envoyer le paquet sur le réseau, les statistiques ne seront pas décrémentées.
En cas d'échec, MySQLnd émet un avertissement PHP
<quote>Error while sending %s packet. PID=%d.</quote>
</simpara>
</caution>
<example>
<title>Exemples d'utilisation</title>
<itemizedlist>
<listitem>
<simpara>
Vérifier si PHP envoie certaines commandes à MySQL, par exemple,
vérifier si un client envoie <literal>COM_PROCESS_KILL</literal>
</simpara>
</listitem>
<listitem>
<simpara>
Calculer le nombre moyen d'exécutions de commandes préparées
en comparant <literal>COM_EXECUTE</literal> avec
<literal>COM_PREPARE</literal>
</simpara>
</listitem>
<listitem>
<simpara>
Vérifier si PHP a exécuté des déclarations SQL non préparées en
vérifiant si <literal>COM_QUERY</literal> est zéro
</simpara>
</listitem>
<listitem>
<simpara>
Identifier les scripts PHP qui exécutent un nombre excessif de déclarations SQL
en vérifiant <literal>COM_QUERY</literal> et
<literal>COM_EXECUTE</literal>
</simpara>
</listitem>
</itemizedlist>
</example>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Statistiques diverses</title>
<varlistentry xml:id="mysqlnd.stats.statistics.stmt-close">
<term><literal>explicit_stmt_close</literal></term>
<term><literal>implicit_stmt_close</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
<simpara>
Le nombre total de déclarations préparées explicitement fermées.
</simpara>
<note>
<simpara>
Une déclaration préparée est toujours explicitement fermée. La seule fois où elle est fermée implicitement est lorsque sa préparation échoue.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.memory-management">
<term><literal>mem_emalloc_count</literal></term>
<term><literal>mem_emalloc_ammount</literal></term>
<term><literal>mem_ecalloc_count</literal></term>
<term><literal>mem_ecalloc_ammount</literal></term>
<term><literal>mem_realloc_count</literal></term>
<term><literal>mem_realloc_ammount</literal></term>
<term><literal>mem_efree_count</literal></term>
<term><literal>mem_malloc_count</literal></term>
<term><literal>mem_malloc_ammount</literal></term>
<term><literal>mem_calloc_count</literal></term>
<term><literal>mem_calloc_ammount</literal></term>
<term><literal>mem_ealloc_count</literal></term>
<term><literal>mem_ealloc_ammount</literal></term>
<term><literal>mem_free_count</literal></term>
<listitem>
<simpara>
Ceci est une statistique de portée de processus.
</simpara>
<simpara>
Appelle la gestion de la mémoire.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.command-buffer-too-small">
<term><literal>command_buffer_too_small</literal></term>
<!-- TODO: XInclude/sync description of INI setting
ini.mysqlnd.net-cmd-buffer-size with this statistic -->
<listitem>
<simpara>
Le nombre d'extensions de tampon de commande réseau lors de l'envoi de commandes de
PHP à MySQL.
</simpara>
<simpara>
MySQLnd alloue un tampon de commande/réseau interne de
<link linkend="ini.mysqlnd.net-cmd-buffer-size">mysqlnd.net_cmd_buffer_size</link>
octets pour chaque connexion.
</simpara>
<simpara>
Si un protocole de commande de serveur MySQL, par exemple
<literal>COM_QUERY</literal> (requête normale),
ne rentre pas dans le tampon,
mysqlnd étendra le tampon à ce qui est nécessaire pour envoyer la commande.
Chaque fois que le tampon est étendu pour une connexion
<literal>command_buffer_too_small</literal> sera incrémenté d'un.
</simpara>
<simpara>
Si mysql est obligé de faire croître le tampon au-delà de sa taille initiale de
<link linkend="ini.mysqlnd.net-cmd-buffer-size">mysqlnd.net_cmd_buffer_size</link>
octets pour presque chaque connexion,
des considérations pour augmenter la taille par défaut devraient être prises en compte pour éviter
les réallocations.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="mysqlnd.stats.statistics.connection-reused">
<term><literal>connection_reused</literal></term>
<listitem>
<simpara>
Le nombre total de fois qu'une connexion persistante a été réutilisée.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</section>
</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
-->