<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.mysqlnd.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'mysqlnd.stats.php',
    1 => 'Statistiques',
    2 => 'Statistiques',
  ),
  'up' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'prev' => 
  array (
    0 => 'mysqlnd.persist.php',
    1 => 'Les connexions persistantes',
  ),
  'next' => 
  array (
    0 => 'mysqlnd.notes.php',
    1 => 'Notes',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/mysqlnd/stats.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqlnd.stats" class="chapter">
 <h1 class="title">Statistiques</h1>


 <p class="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 :
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">Statistiques du client</span>
   </li>
   <li class="listitem">
    <span class="simpara">Statistiques de la connexion</span>
   </li>
  </ul>
 </p>
 <p class="para">
  Lorsque l&#039;extension <a href="book.mysqli.php" class="link">mysqli</a> est utilisée,
  ces statistiques peuvent être obtenues via deux appels API :
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara"><span class="function"><a href="function.mysqli-get-client-stats.php" class="function">mysqli_get_client_stats()</a></span></span>
   </li>
   <li class="listitem">
    <span class="simpara"><span class="function"><a href="mysqli.get-connection-stats.php" class="function">mysqli_get_connection_stats()</a></span></span>
   </li>
  </ul>
 </p>

 <blockquote class="note"><p><strong class="note">Note</strong>: 
  <span class="simpara">
   Les statistiques sont agrégées parmi toutes les extensions qui utilisent
   le pilote natif MySQL. Par exemple, si l&#039;extension <a href="book.mysqli.php" class="link">mysqli</a>
   et le pilote PDO MySQL sont tous deux configurés pour utiliser MySQLnd,
   alors les appels de fonctions de <a href="book.mysqli.php" class="link">mysqli</a>
   et les appels de méthodes de PDO affecteront les statistiques.
  </span>
  <span class="simpara">
   Il n&#039;y a aucun moyen de savoir combien un certain appel d&#039;API d&#039;une
   extension qui a été compilée sans le pilote natif MySQL a impacté une
   certaine statistique.
  </span>
 </p></blockquote>

 <div id="mysqlnd.stats.retrieve" class="section">
  <h2 class="title">Récupération des statistiques</h2>

  <p class="simpara">
   Les statistiques du client peuvent être récupérées en appelant la
   fonction <span class="function"><a href="function.mysqli-get-client-stats.php" class="function">mysqli_get_client_stats()</a></span>.
  </p>

  <p class="simpara">
   Les statistiques de connexion peuvent être récupérées en appelant la
   fonction <span class="function"><a href="mysqli.get-connection-stats.php" class="function">mysqli_get_connection_stats()</a></span>.
  </p>

  <p class="simpara">
   Les deux fonctions retournent un tableau associatif,
   où le nom d&#039;une statistique est la clé pour les
   données statistiques correspondantes.
  </p>
 </div>

 <div id="mysqlnd.stats.statistics" class="section">
  <h2 class="title">Statistiques du pilote natif MySQL</h2>
  <p class="simpara">
   La plupart des statistiques sont associées à une connexion, mais certaines
   sont associées au processus, auquel cas cela sera mentionné.
   
  </p>
  <p class="simpara">
   Les statistiques suivantes sont produites par le pilote natif MySQL :
  </p>

  <dl>
   <strong class="title">Statistiques liées au réseau</strong>

   
    <dt id="mysqlnd.stats.statistics.bytes-sent"><code class="literal">bytes_sent</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;octets envoyés de PHP au serveur MySQL.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received"><code class="literal">bytes_received</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;octets reçus du serveur MySQL.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-sent"><code class="literal">packets_sent</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets envoyés par le protocole client-serveur MySQL.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received"><code class="literal">packets_received</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets reçus du protocole client-serveur MySQL.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.protocol-overhead-in"><code class="literal">protocol_overhead_in</code></dt>
    <dd>
     <span class="simpara">
      Le surdébit du protocole client-serveur MySQL en octets pour le trafic entrant.
      Actuellement, seul l&#039;en-tête de paquet (4 octets) est considéré comme un surdébit.
      <code class="code">protocol_overhead_in = packets_received * 4</code>
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.protocol-overhead-out"><code class="literal">protocol_overhead_out</code></dt>
    <dd>
     <span class="simpara">
      Le surdébit du protocole client-serveur MySQL en octets pour le trafic sortant.
      Actuellement, seul l&#039;en-tête de paquet (4 octets) est considéré comme un surdébit.
      <code class="code">protocol_overhead_out = packets_received * 4</code>
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-ok-packet"><code class="literal">bytes_received_ok_packet</code></dt>
    <dd>
     <span class="simpara">
      La taille totale en octets des paquets OK du protocole client-serveur MySQL reçus.
      Les paquets OK peuvent contenir un message d&#039;état.
      La longueur du message d&#039;état peut varier et donc la taille d&#039;un paquet OK
      n&#039;est pas fixe.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-ok"><code class="literal">packets_received_ok</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets OK du protocole client-serveur MySQL reçus.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-eof-packet"><code class="literal">bytes_received_eof_packet</code></dt>
    <dd>
     <span class="simpara">
      La taille totale en octets des paquets EOF du protocole client-serveur MySQL reçus.
      La taille d&#039;un paquet EOF peut varier en fonction de la version du serveur.
      De plus, un paquet EOF peut transporter un message d&#039;erreur.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-eof"><code class="literal">packets_received_eof</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets EOF du protocole client-serveur MySQL reçus.
      Nombre de paquets EOF du protocole client-serveur MySQL.
     </span>
     <span class="simpara">
      Comme pour d&#039;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&#039;erreur.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-rset-header-packet"><code class="literal">bytes_received_rset_header_packet</code></dt>
    <dd>
     <span class="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&#039;en-tête de paquet peut varier en fonction de la charge utile
      (<code class="literal">LOAD LOCAL INFILE</code>, <code class="literal">INSERT</code>,
      <code class="literal">UPDATE</code>, <code class="literal">SELECT</code>, message d&#039;erreur).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-rset-header"><code class="literal">packets_received_rset_header</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets d&#039;en-têtes de résultats du protocole client-serveur MySQL reçus.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-rset-field-meta-packet"><code class="literal">bytes_received_rset_field_meta_packet</code></dt>
    <dd>
     <span class="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.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-rset-field-meta"><code class="literal">packets_received_rset_field_meta</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets de métadonnées de résultats du protocole client-serveur reçus
      (informations de champ).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-rset-row-packet"><code class="literal">bytes_received_rset_row_packet</code></dt>
    <dd>
     <span class="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&#039;erreurs et de paquets EOF en soustrayant
      <code class="literal">rows_fetched_from_server_normal</code>
      et <code class="literal">rows_fetched_from_server_ps</code>
      de <code class="literal">bytes_received_rset_row_packet</code>.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-rset-row"><code class="literal">packets_received_rset_row</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets de données de ligne de résultats du protocole client-serveur MySQL reçus.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-prepare-response-packet"><code class="literal">bytes_received_prepare_response_packet</code></dt>
    <dd>
     <span class="simpara">
      La taille totale en octets des paquets OK du protocole client-serveur MySQL reçus pour
      l&#039;initialisation des déclarations préparées (paquets d&#039;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.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-prepare-response"><code class="literal">packets_received_prepare_response</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets OK du protocole client-serveur MySQL reçus pour
      l&#039;initialisation des déclarations préparées (paquets d&#039;initialisation de déclaration préparée).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-change-user-packet"><code class="literal">bytes_received_change_user_packet</code></dt>
    <dd>
     <span class="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.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       La taille totale en octets inclut la taille de l&#039;en-tête du paquet
       (4 octets, voir le surdébit du protocole).
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-change-user"><code class="literal">packets_received_change_user</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de paquets COM_CHANGE_USER du protocole client-serveur MySQL reçus.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-sent-command"><code class="literal">packets_sent_command</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de commandes MySQL envoyées par PHP au serveur MySQL.
     </span>
     <span class="simpara">
      Il n&#039;y a aucun moyen de savoir quelles commandes spécifiques et combien
      d&#039;entre elles ont été envoyées.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-real-data_normal"><code class="literal">bytes_received_real_data_normal</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;octets de charge utile récupérés par le client PHP depuis
      <code class="literal">mysqlnd</code> en utilisant le protocole texte.
     </span>
     <span class="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.
     </span>
     <span class="simpara">
      Il est à noter que bien qu&#039;un ensemble de résultats complet ait pu être extrait de MySQL
      par <code class="literal">mysqlnd</code>, cette statistique ne compte que les données réelles
      extraites de <code class="literal">mysqlnd</code> par le client PHP.
     </span>
     <p class="para">
      Un exemple de séquence de code qui augmentera la valeur est le suivant :
      <div class="example-contents">
<div class="cdata"><pre>
$mysqli = new mysqli();
$res = $mysqli-&gt;query(&quot;SELECT &#039;abc&#039;&quot;);
$res-&gt;fetch_assoc();
$res-&gt;close();
</pre></div>
      </div>

      Chaque opération de récupération augmentera la valeur.
     </p>
     <p class="para">
      Cependant, la statistique ne sera pas augmentée si l&#039;ensemble de résultats est uniquement
      mis en mémoire tampon sur le client, mais non extrait, comme dans l&#039;exemple suivant :
      <div class="example-contents">
<div class="cdata"><pre>
$mysqli = new mysqli();
$res = $mysqli-&gt;query(&quot;SELECT &#039;abc&#039;&quot;);
$res-&gt;close();
</pre></div>
      </div>

     </p>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-real-data-ps"><code class="literal">bytes_received_real_data_ps</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;octets de charge utile récupérés par le client PHP depuis
      <code class="literal">mysqlnd</code> en utilisant le protocole de déclaration préparée.
     </span>
     <span class="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.
     </span>
     <span class="simpara">
      La valeur ne sera pas augmentée si l&#039;ensemble de résultats n&#039;est pas lu par le client PHP.
     </span>
     <span class="simpara">
      Il est à noter que bien qu&#039;un ensemble de résultats complet ait pu être extrait de MySQL
      par <code class="literal">mysqlnd</code>, cette statistique ne compte que les données réelles
      extraites de <code class="literal">mysqlnd</code> par le client PHP.
     </span>
     <span class="simpara">
      Voir également <code class="literal">bytes_received_real_data_normal</code>.
     </span>
    </dd>
   
  </dl>

  <dl>
   <strong class="title">Statistiques liées aux ensembles de résultats</strong>

   
    <dt id="mysqlnd.stats.statistics.result-set-queries"><code class="literal">result_set_queries</code></dt>
    <dd>
     <span class="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 :
      <code class="literal">SELECT</code>, <code class="literal">SHOW</code>.
     </span>
     <span class="simpara">
      La statistique ne sera pas augmentée s&#039;il y a une erreur lors de la lecture
      de l&#039;en-tête du paquet de l&#039;ensemble de résultats.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="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.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.non-result-set-queries"><code class="literal">non_result_set_queries</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de requêtes qui n&#039;ont pas généré d&#039;ensemble de résultats.
      Exemples de requêtes qui ne génèrent pas d&#039;ensemble de résultats :
      <code class="literal">INSERT</code>, <code class="literal">UPDATE</code>, <code class="literal">LOAD DATA</code>.
     </span>
     <span class="simpara">
      Cette statistique ne sera pas augmentée s&#039;il y a une erreur lors de la lecture
      de l&#039;en-tête du paquet de l&#039;ensemble de résultats.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="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.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.no-index-used"><code class="literal">no_index_used</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de requêtes qui ont généré un ensemble de résultats mais n&#039;ont pas utilisé d&#039;index.
      (Voir également l&#039;option de démarrage de mysqld <code class="literal">--log-queries-not-using-indexes</code>).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Ces requêtes peuvent être signalées via une exception en appelant
       <code class="code">mysqli_report(MYSQLI_REPORT_INDEX);</code>.
       Il est possible de les signaler via un avertissement en appelant
       <code class="code">mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT);</code>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bad-index-used"><code class="literal">bad_index_used</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de requêtes qui ont généré un ensemble de résultats et n&#039;ont pas utilisé un bon index.
      (Voir également l&#039;option de démarrage de mysqld <code class="literal">--log-slow-queries</code>).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Ces requêtes peuvent être signalées via une exception en appelant
       <code class="code">mysqli_report(MYSQLI_REPORT_INDEX);</code>.
       Il est possible de les signaler via un avertissement en appelant
       <code class="code">mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT);</code>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.slow-queries"><code class="literal">slow_queries</code></dt>
    <dd>
     <span class="simpara">
      Les déclarations SQL qui ont pris plus de <code class="literal">long_query_time</code>
      secondes à s&#039;exécuter et ont nécessité au moins
      <code class="literal">min_examined_row_limit</code> lignes à examiner.
     </span>
     <div class="caution"><strong class="caution">Attention</strong>
      <p class="simpara">
       Pas signalé via <span class="function"><a href="function.mysqli-report.php" class="function">mysqli_report()</a></span>.
      </p>
     </div>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.buffered-sets"><code class="literal">buffered_sets</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;ensembles de résultats mis en mémoire tampon retournés par des requêtes normales
      (c&#039;est-à-dire pas via une déclaration préparée).
     </span>
     <p class="para">
      Exemple d&#039;appels API qui mettront en mémoire tampon les ensembles de résultats sur le client :
      <span class="simplelist"><span class="function"><a href="mysqli.query.php" class="function">mysqli_query()</a></span>, <span class="function"><a href="mysqli.store-result.php" class="function">mysqli_store_result()</a></span>, <span class="function"><a href="mysqli-stmt.get-result.php" class="function">mysqli_stmt_get_result()</a></span></span>
     </p>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.unbuffered-sets"><code class="literal">unbuffered_sets</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;ensembles de résultats non mis en mémoire tampon retournés par des requêtes normales
      (c&#039;est-à-dire pas via une déclaration préparée).
     </span>
     <p class="para">
      Exemple d&#039;appels API qui ne mettront pas en mémoire tampon les ensembles de résultats sur le client :
      <span class="simplelist"><span class="function"><a href="mysqli.use-result.php" class="function">mysqli_use_result()</a></span></span>
     </p>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.ps-buffered-sets"><code class="literal">ps_buffered_sets</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;ensembles de résultats mis en mémoire tampon retournés par des déclarations préparées.
     </span>
     <p class="para">
      Exemple d&#039;appels API qui mettront en mémoire tampon les ensembles de résultats sur le client :
      <span class="simplelist"><span class="function"><a href="mysqli-stmt.store-result.php" class="function">mysqli_stmt_store_result()</a></span></span>
     </p>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.ps-unbuffered-sets"><code class="literal">ps_unbuffered_sets</code></dt>
    <dd>
     <span class="simpara">
      Le nombre d&#039;ensembles de résultats non mis en mémoire tampon retournés par des déclarations préparées.
     </span>
     <span class="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.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.flushed-normal-sets"><code class="literal">flushed_normal_sets</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de jeux de résultats retournés par des requêtes normales
      (c&#039;est-à-dire pas via une déclaration préparée) avec des données non lues qui ont été
      silencieusement vidées.
     </span>

     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Le vidage se produit uniquement avec des ensembles de résultats non mis en mémoire tampon.
      </span>
      <span class="simpara">
       Les ensembles de résultats non mis en mémoire tampon doivent être récupérés complètement avant
       qu&#039;une nouvelle requête puisse être exécutée sur la connexion, sinon MySQL lancera une erreur.
       Si l&#039;application ne récupère pas toutes les lignes d&#039;un ensemble de résultats non mis en mémoire tampon,
       mysqlnd récupère implicitement l&#039;ensemble de résultats pour effacer la ligne.
      </span>
      <span class="simpara">
       Voir également <code class="literal">rows_skipped_normal</code>, <code class="literal">rows_skipped_ps</code>.
      </span>
      <p class="para">
       Quelques causes possibles pour un vidage implicite :
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          Application cliente défectueuse
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          Client s&#039;est arrêté de lire après avoir trouvé ce qu&#039;il cherchait
          mais a fait calculer à MySQL plus de lignes que nécessaire
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          L&#039;application client s&#039;est arrêtée de manière inattendue
         </span>
        </li>
       </ul>
      </p>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.flushed-ps-sets"><code class="literal">flushed_ps_sets</code></dt>
    <dd>
     <span class="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.
     </span>

     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Le vidage se produit uniquement avec des ensembles de résultats non mis en mémoire tampon.
      </span>
      <span class="simpara">
       Les ensembles de résultats non mis en mémoire tampon doivent être récupérés complètement avant
       qu&#039;une nouvelle requête puisse être exécutée sur la connexion, sinon MySQL lancera une erreur.
       Si l&#039;application ne récupère pas toutes les lignes d&#039;un ensemble de résultats non mis en mémoire tampon,
       mysqlnd récupère implicitement l&#039;ensemble de résultats pour effacer la ligne.
      </span>
      <span class="simpara">
       Voir également <code class="literal">rows_skipped_normal</code>, <code class="literal">rows_skipped_ps</code>.
      </span>
      <p class="para">
       Quelques causes possibles pour un vidage implicite :
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          Application cliente défectueuse
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          Client s&#039;est arrêté de lire après avoir trouvé ce qu&#039;il cherchait
          mais a fait calculer à MySQL plus de lignes que nécessaire
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          L&#039;application client s&#039;est arrêtée de manière inattendue
         </span>
        </li>
       </ul>
      </p>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.ps-prepared-never-executed"><code class="literal">ps_prepared_never_executed</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de déclarations préparées préparées mais jamais exécutées.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.ps-prepared-once-executed"><code class="literal">ps_prepared_once_executed</code></dt>
    <dd>
     <span class="simpara">
      Le nombre de déclarations préparées exécutées une seule fois.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-fetched-from-server-normal"><code class="literal">rows_fetched_from_server_normal</code></dt>
    <dt><code class="literal">rows_fetched_from_server_ps</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes d&#039;ensemble de résultats récupérées du serveur.
      Cela inclut les lignes qui n&#039;ont pas été lues par le client mais
      ont été implicitement récupérées en raison d&#039;ensembles de résultats non mis en mémoire tampon vidés.
     </span>
     <span class="simpara">
      Voir également <code class="literal">packets_received_rset_row</code>.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-buffered-from-server-normal"><code class="literal">rows_buffered_from_client_normal</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes mises en mémoire tampon provenant d&#039;une requête normale.
     </span>
     <span class="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.
     </span>
     <p class="para">
      Exemple de requêtes qui mettront en mémoire tampon les ensembles de résultats :
      <ul class="simplelist">
       <li><span class="function"><a href="mysqli.query.php" class="function">mysqli_query()</a></span></li>
       <li><span class="function"><a href="mysqli.store-result.php" class="function">mysqli_store_result()</a></span></li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-buffered-from-client-ps"><code class="literal">rows_buffered_from_client_ps</code></dt>
    <dd>
     <span class="simpara">
      Equivalent à <code class="literal">rows_buffered_from_client_normal</code>
      mais pour les déclarations préparées.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-fetched-from-client-normal-buffered"><code class="literal">rows_fetched_from_client_normal_buffered</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes récupérées par le client à partir d&#039;un ensemble de résultats mis en mémoire tampon
      créé par une requête normale.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-fetched-from-client-ps-buffered"><code class="literal">rows_fetched_from_client_ps_buffered</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes récupérées par le client à partir d&#039;un ensemble de résultats mis en mémoire tampon
      créé par une déclaration préparée.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-fetched-from-client-normal-unbuffered"><code class="literal">rows_fetched_from_client_normal_unbuffered</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes récupérées par le client à partir d&#039;un ensemble de résultats non mis en mémoire tampon
      créé par une requête normale.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-fetched-from-client-ps-unbuffered"><code class="literal">rows_fetched_from_client_ps_unbuffered</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes récupérées par le client à partir d&#039;un ensemble de résultats non mis en mémoire tampon
      créé par une déclaration préparée.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.rows-fetched-from-client-ps-cursor"><code class="literal">rows_fetched_from_client_ps_cursor</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de lignes récupérées par le client à partir d&#039;un curseur créé
      par une déclaration préparée.
     </span>
    </dd>
   

   
   
    <dt id="mysqlnd.stats.statistics.rows-skipped-normal"><code class="literal">rows_skipped_normal</code></dt>
    <dt><code class="literal">rows_skipped_ps</code></dt>
    <dd>
     <span class="simpara">
      Réservé pour une utilisation future (actuellement non pris en charge).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.copy-on-write"><code class="literal">copy_on_write_saved</code></dt>
    <dt><code class="literal">copy_on_write_performed</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
     <span class="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&#039;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.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.free-result"><code class="literal">explicit_free_result</code></dt>
    <dt><code class="literal">implicit_free_result</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de connexion et de processus.
     </span>
     <span class="simpara">
      Le nombre total de résultats libérés.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-null"><code class="literal">proto_text_fetched_null</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_NULL</code>
      récupérées à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-null"><code class="literal">proto_binary_fetched_null</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_NULL</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-bit"><code class="literal">proto_text_fetched_bit</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_BIT</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-bit"><code class="literal">proto_binary_fetched_bit</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_BIT</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-tinyint"><code class="literal">proto_text_fetched_tinyint</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TINY</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-tinyint"><code class="literal">proto_binary_fetched_tinyint</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TINY</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-short"><code class="literal">proto_text_fetched_short</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_SHORT</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-short"><code class="literal">proto_binary_fetched_short</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_SHORT</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-int24"><code class="literal">proto_text_fetched_int24</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_INT24</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-int24"><code class="literal">proto_binary_fetched_int24</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_INT24</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-int"><code class="literal">proto_text_fetched_int</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_LONG</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-int"><code class="literal">proto_binary_fetched_int</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_LONG</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-bigint"><code class="literal">proto_text_fetched_bigint</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_LONGLONG</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-bigint"><code class="literal">proto_binary_fetched_bigint</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_LONGLONG</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-decimal"><code class="literal">proto_text_fetched_decimal</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DECIMAL</code>, or <code class="literal">MYSQL_TYPE_NEWDECIMAL</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-decimal"><code class="literal">proto_binary_fetched_decimal</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DECIMAL</code>, or <code class="literal">MYSQL_TYPE_NEWDECIMAL</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-float"><code class="literal">proto_text_fetched_float</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_FLOAT</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-float"><code class="literal">proto_binary_fetched_float</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_FLOAT</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-double"><code class="literal">proto_text_fetched_double</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DOUBLE</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-double"><code class="literal">proto_binary_fetched_double</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DOUBLE</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-date"><code class="literal">proto_text_fetched_date</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DATE</code>, ou <code class="literal">MYSQL_TYPE_NEWDATE</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-date"><code class="literal">proto_binary_fetched_date</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DATE</code>, ou <code class="literal">MYSQL_TYPE_NEWDATE</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-year"><code class="literal">proto_text_fetched_year</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_YEAR</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-year"><code class="literal">proto_binary_fetched_year</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_YEAR</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-time"><code class="literal">proto_text_fetched_time</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TIME</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-time"><code class="literal">proto_binary_fetched_time</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TIME</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-datetime"><code class="literal">proto_text_fetched_datetime</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DATETIME</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-datetime"><code class="literal">proto_binary_fetched_datetime</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_DATETIME</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-timestamp"><code class="literal">proto_text_fetched_timestamp</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TIMESTAMP</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-timestamp"><code class="literal">proto_binary_fetched_timestamp</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TIMESTAMP</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-string"><code class="literal">proto_text_fetched_string</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_STRING</code>, <code class="literal">MYSQL_TYPE_VARSTRING</code>, or <code class="literal">MYSQL_TYPE_VARCHAR</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-string"><code class="literal">proto_binary_fetched_string</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_STRING</code>, <code class="literal">MYSQL_TYPE_VARSTRING</code>, or <code class="literal">MYSQL_TYPE_VARCHAR</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-blob"><code class="literal">proto_text_fetched_blob</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TINY_BLOB</code>,
      <code class="literal">MYSQL_TYPE_MEDIUM_BLOB</code>,
      ou <code class="literal">MYSQL_TYPE_BLOB</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-blob"><code class="literal">proto_binary_fetched_blob</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_TINY_BLOB</code>,
      <code class="literal">MYSQL_TYPE_MEDIUM_BLOB</code>,
      <code class="literal">MYSQL_TYPE_LONG_BLOB</code>,
      ou <code class="literal">MYSQL_TYPE_BLOB</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-enum"><code class="literal">proto_text_fetched_enum</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_ENUM</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-enum"><code class="literal">proto_binary_fetched_enum</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_ENUM</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-set"><code class="literal">proto_text_fetched_set</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_SET</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-set"><code class="literal">proto_binary_fetched_set</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_SET</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-geometry"><code class="literal">proto_text_fetched_geometry</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_GEOMETRY</code>
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-geometry"><code class="literal">proto_binary_fetched_geometry</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_GEOMETRY</code>
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-other"><code class="literal">proto_text_fetched_other</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de types
      <code class="literal">MYSQL_TYPE_<span class="replaceable">*</span></code>
      non listés précédemment
      récupéré à partir d&#039;une requête normale (protocole texte MySQL).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Dans la théorie, cela devrait toujours être <code class="literal">0</code>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-other"><code class="literal">proto_binary_fetched_other</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de colonnes de type
      <code class="literal">MYSQL_TYPE_<span class="replaceable">*</span></code>
      non listés précédemment
      récupéré à partir d&#039;une déclaration préparée (protocole binaire MySQL).
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Dans la théorie, cela devrait toujours être <code class="literal">0</code>.
      </span>
     </p></blockquote>
    </dd>
   

  </dl>

  <dl>
   <strong class="title">Statistiques liées aux connexions</strong>

   
    <dt id="mysqlnd.stats.statistics.connect-success"><code class="literal">connect_success</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de tentatives de connexion réussies.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       <code class="literal">connect_success</code> 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 <code class="literal">connect_success - pconnect_success</code>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.pconnect-success"><code class="literal">pconnect_success</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de tentatives de connexion persistantes réussies.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.connect-failure"><code class="literal">connect_failure</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de tentatives de connexion échouées.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.reconnect"><code class="literal">reconnect</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.active-connections"><code class="literal">active_connections</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
     <span class="simpara">
      Le nombre total de connexions persistantes et non persistantes actives.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Le nombre total de connexions non persistantes actives est
       <code class="literal">active_connections - active_persistent_connections</code>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.active-persistent-connections"><code class="literal">active_persistent_connections</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
     <span class="simpara">
      Le nombre total de connexions persistantes actives.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.explicit-close"><code class="literal">explicit_close</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de connexions explicitement fermées.
     </span>
     <div class="example" id="example-1">
      <p><strong>Exemple #1 Exemples de fragments de code qui provoquent une fermeture explicite</strong></p>
      <ul class="itemizedlist">
       <li class="listitem">
        <div class="example-contents">
<div class="cdata"><pre>
$link = new mysqli(/* ... */);
$link-&gt;close(/* ... */);
</pre></div>
        </div>

       </li>
       <li class="listitem">
        <div class="example-contents">
<div class="cdata"><pre>
$link = new mysqli(/* ... */);
$link-&gt;connect(/* ... */);
</pre></div>
        </div>

       </li>
      </ul>
     </div>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.implicit-close"><code class="literal">implicit_close</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de connexions implicitement fermées.
     </span>
     <div class="example" id="example-2">
      <p><strong>Exemple #2 Exemples de fragments de code qui provoquent une fermeture implicite</strong></p>
      <ul class="itemizedlist">
       <li class="listitem">
        <div class="example-contents">
<div class="cdata"><pre>
$link = new mysqli(/* ... */);
$link-&gt;real_connect(/* ... */);
</pre></div>
        </div>

       </li>
       <li class="listitem">
        <div class="example-contents">
         <code class="code">unset($link)</code>
        </div>

       </li>
       <li class="listitem">
        <span class="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
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Connexion persistante: ping/change_user échoue et ext/mysqli
         ferme la connexion
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Fin de l&#039;exécution du script : fermeture des connexions qui n&#039;ont pas été
         fermées par l&#039;utilisateur
        </span>
       </li>
      </ul>
     </div>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.disconnect-close"><code class="literal">disconnect_close</code></dt>
    <dd>
     <span class="simpara">
      Échecs de connexion indiqués par l&#039;appel à l&#039;API C
      <code class="literal">mysql_real_connect</code> lors d&#039;une tentative
      d&#039;établissement de connexion.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.in-middle-of-command-close"><code class="literal">in_middle_of_command_close</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
     <span class="simpara">
      Une connexion a été fermée au milieu de l&#039;exécution d&#039;une commande
      (ensembles de résultats non récupérés, après l&#039;envoi d&#039;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).
     </span>
     <div class="warning"><strong class="warning">Avertissement</strong>
      <p class="simpara">
       Sauf si des requêtes asynchrones sont utilisées, cela ne devrait se produire
       que si l&#039;application PHP s&#039;est terminée de manière inattendue et que PHP
       ferme automatiquement la connexion.
      </p>
     </div>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.init-command-executed-count"><code class="literal">init_command_executed_count</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total d&#039;exécutions de commandes d&#039;initialisation.
      Par exemple: <code class="code">mysqli_options(MYSQLI_INIT_COMMAND , $value)</code>.
     </span>
     <span class="simpara">
      Le nombre d&#039;exécutions réussies est
      <code class="literal">init_command_executed_count - init_command_failed_count</code>.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.init-command-failed-count"><code class="literal">init_command_failed_count</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total d&#039;échecs d&#039;exécution de commandes d&#039;initialisation.
     </span>
    </dd>
   
  </dl>

  <dl>
   <strong class="title"><code class="literal">COM_*</code> Statistiques liées aux commandes</strong>

   
    <dt id="mysqlnd.stats.statistics.com"><code class="literal">com_quit</code></dt>
    <dt><code class="literal">com_init_db</code></dt>
    <dt><code class="literal">com_query</code></dt>
    <dt><code class="literal">com_field_list</code></dt>
    <dt><code class="literal">com_create_db</code></dt>
    <dt><code class="literal">com_drop_db</code></dt>
    <dt><code class="literal">com_refresh</code></dt>
    <dt><code class="literal">com_shutdown</code></dt>
    <dt><code class="literal">com_statistics</code></dt>
    <dt><code class="literal">com_process_info</code></dt>
    <dt><code class="literal">com_connect</code></dt>
    <dt><code class="literal">com_process_kill</code></dt>
    <dt><code class="literal">com_debug</code></dt>
    <dt><code class="literal">com_ping</code></dt>
    <dt><code class="literal">com_time</code></dt>
    <dt><code class="literal">com_delayed_insert</code></dt>
    <dt><code class="literal">com_change_user</code></dt>
    <dt><code class="literal">com_binlog_dump</code></dt>
    <dt><code class="literal">com_table_dump</code></dt>
    <dt><code class="literal">com_connect_out</code></dt>
    <dt><code class="literal">com_register_slave</code></dt>
    <dt><code class="literal">com_stmt_prepare</code></dt>
    <dt><code class="literal">com_stmt_execute</code></dt>
    <dt><code class="literal">com_stmt_send_long_data</code></dt>
    <dt><code class="literal">com_stmt_close</code></dt>
    <dt><code class="literal">com_stmt_reset</code></dt>
    <dt><code class="literal">com_stmt_set_option</code></dt>
    <dt><code class="literal">com_stmt_fetch</code></dt>
    <dt><code class="literal">com_daemon</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de tentatives d&#039;envoi d&#039;une certaine commande
      <code class="literal">COM_*</code> de PHP à MySQL.
     </span>
     <span class="simpara">
      La statistique est incrémentée après avoir vérifié la ligne et immédiatement
      avant d&#039;envoyer le paquet de protocole client serveur MySQL correspondant.
     </span>
     <div class="caution"><strong class="caution">Attention</strong>
      <p class="simpara">
       Si MySQLnd échoue à envoyer le paquet sur le réseau, les statistiques ne seront pas décrémentées.
       En cas d&#039;échec, MySQLnd émet un avertissement PHP
       <q class="quote">Error while sending %s packet. PID=%d.</q>
      </p>
     </div>

     <div class="example" id="example-3">
      <p><strong>Exemple #3 Exemples d&#039;utilisation</strong></p>
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         Vérifier si PHP envoie certaines commandes à MySQL, par exemple,
         vérifier si un client envoie <code class="literal">COM_PROCESS_KILL</code>
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Calculer le nombre moyen d&#039;exécutions de commandes préparées
         en comparant <code class="literal">COM_EXECUTE</code> avec
         <code class="literal">COM_PREPARE</code>
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Vérifier si PHP a exécuté des déclarations SQL non préparées en
         vérifiant si <code class="literal">COM_QUERY</code> est zéro
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         Identifier les scripts PHP qui exécutent un nombre excessif de déclarations SQL
         en vérifiant <code class="literal">COM_QUERY</code> et
         <code class="literal">COM_EXECUTE</code>
        </span>
       </li>
      </ul>
     </div>
    </dd>
   
  </dl>

  <dl>
   <strong class="title">Statistiques diverses</strong>

   
    <dt id="mysqlnd.stats.statistics.stmt-close"><code class="literal">explicit_stmt_close</code></dt>
    <dt><code class="literal">implicit_stmt_close</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
     <span class="simpara">
      Le nombre total de déclarations préparées explicitement fermées.
     </span>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="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.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.memory-management"><code class="literal">mem_emalloc_count</code></dt>
    <dt><code class="literal">mem_emalloc_ammount</code></dt>
    <dt><code class="literal">mem_ecalloc_count</code></dt>
    <dt><code class="literal">mem_ecalloc_ammount</code></dt>
    <dt><code class="literal">mem_realloc_count</code></dt>
    <dt><code class="literal">mem_realloc_ammount</code></dt>
    <dt><code class="literal">mem_efree_count</code></dt>
    <dt><code class="literal">mem_malloc_count</code></dt>
    <dt><code class="literal">mem_malloc_ammount</code></dt>
    <dt><code class="literal">mem_calloc_count</code></dt>
    <dt><code class="literal">mem_calloc_ammount</code></dt>
    <dt><code class="literal">mem_ealloc_count</code></dt>
    <dt><code class="literal">mem_ealloc_ammount</code></dt>
    <dt><code class="literal">mem_free_count</code></dt>
    <dd>
     <span class="simpara">
      Ceci est une statistique de portée de processus.
     </span>
     <span class="simpara">
      Appelle la gestion de la mémoire.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.command-buffer-too-small"><code class="literal">command_buffer_too_small</code></dt>
    
    <dd>
     <span class="simpara">
      Le nombre d&#039;extensions de tampon de commande réseau lors de l&#039;envoi de commandes de
      PHP à MySQL.
     </span>
     <span class="simpara">
      MySQLnd alloue un tampon de commande/réseau interne de
      <a href="mysqlnd.config.php#ini.mysqlnd.net-cmd-buffer-size" class="link">mysqlnd.net_cmd_buffer_size</a>
      octets pour chaque connexion.
     </span>
     <span class="simpara">
      Si un protocole de commande de serveur MySQL, par exemple
      <code class="literal">COM_QUERY</code> (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
      <code class="literal">command_buffer_too_small</code> sera incrémenté d&#039;un.
     </span>
     <span class="simpara">
      Si mysql est obligé de faire croître le tampon au-delà de sa taille initiale de
      <a href="mysqlnd.config.php#ini.mysqlnd.net-cmd-buffer-size" class="link">mysqlnd.net_cmd_buffer_size</a>
      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.
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.connection-reused"><code class="literal">connection_reused</code></dt>
    <dd>
     <span class="simpara">
      Le nombre total de fois qu&#039;une connexion persistante a été réutilisée.
     </span>
    </dd>
   
  </dl>
 </div>
</div>
<?php manual_footer($setup); ?>