<?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 => 'ja',
  ),
  'this' => 
  array (
    0 => 'mysqlnd.stats.php',
    1 => '統計情報',
    2 => '統計情報',
  ),
  'up' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'prev' => 
  array (
    0 => 'mysqlnd.persist.php',
    1 => '持続的接続',
  ),
  'next' => 
  array (
    0 => 'mysqlnd.notes.php',
    1 => 'メモ',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    '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">統計情報</h1>


 <p class="para">
  MySQL Native Driver は、クライアントとサーバー間の通信に関する
  統計情報の収集をサポートしています。
  収集される統計情報は、主に以下の 2 種類です。
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">クライアント統計情報</span>
   </li>
   <li class="listitem">
    <span class="simpara">接続統計情報</span>
   </li>
  </ul>
 </p>
 <p class="para">
  <a href="book.mysqli.php" class="link">mysqli</a> 拡張モジュールを使用している場合、
  これらの統計情報は以下の 2 つの 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">注意</strong>: 
  <span class="simpara">
   統計情報は、MySQL Native Driver を使用するすべての拡張モジュール間で
   集約されます。
   たとえば、<a href="book.mysqli.php" class="link">mysqli</a>
   拡張モジュールと PDO MySQL ドライバの両方が MySQLnd を使用するように
   設定されている場合、<a href="book.mysqli.php" class="link">mysqli</a>
   の関数呼び出しと PDO のメソッド呼び出しの両方が統計情報に影響します。
  </span>
  <span class="simpara">
   MySQL Native Driver を利用する各拡張モジュールの API
   呼び出しが、個々の統計情報にどの程度影響しているかを特定することはできません。
  </span>
 </p></blockquote>

 <div id="mysqlnd.stats.retrieve" class="section">
  <h2 class="title">統計情報の取得</h2>

  <p class="simpara">
   クライアント統計情報は、
   <span class="function"><a href="function.mysqli-get-client-stats.php" class="function">mysqli_get_client_stats()</a></span> 関数を呼び出すことで取得できます。
  </p>

  <p class="simpara">
   接続統計情報は、
   <span class="function"><a href="mysqli.get-connection-stats.php" class="function">mysqli_get_connection_stats()</a></span> 関数を呼び出すことで取得できます。
  </p>

  <p class="simpara">
   どちらの関数も連想配列を返します。
   統計項目の名前が、対応する統計データのキーになっています。
  </p>
 </div>

 <div id="mysqlnd.stats.statistics" class="section">
  <h2 class="title">MySQL Native Driver の統計情報</h2>
  <p class="simpara">
   ほとんどの統計情報は接続に関連付けられますが、
   一部はプロセスに関連付けられます。その場合はその旨が記載されます。
   
  </p>
  <p class="simpara">
   MySQL Native Driver が生成する統計情報を以下に示します。
  </p>

  <dl>
   <strong class="title">ネットワーク関連の統計情報</strong>

   
    <dt id="mysqlnd.stats.statistics.bytes-sent"><code class="literal">bytes_sent</code></dt>
    <dd>
     <span class="simpara">
      PHP から MySQL サーバーに送信されたバイト数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received"><code class="literal">bytes_received</code></dt>
    <dd>
     <span class="simpara">
      MySQL サーバーから受信したバイト数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-sent"><code class="literal">packets_sent</code></dt>
    <dd>
     <span class="simpara">
      MySQL クライアントサーバープロトコルで送信されたパケット数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received"><code class="literal">packets_received</code></dt>
    <dd>
     <span class="simpara">
      MySQL クライアントサーバープロトコルで受信したパケット数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.protocol-overhead-in"><code class="literal">protocol_overhead_in</code></dt>
    <dd>
     <span class="simpara">
      MySQL クライアントサーバープロトコルの受信トラフィックにおけるオーバーヘッド（バイト単位）。
      現在はパケットヘッダ（4 バイト）のみがオーバーヘッドとみなされます。
      <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">
      MySQL クライアントサーバープロトコルの送信トラフィックにおけるオーバーヘッド（バイト単位）。
      現在はパケットヘッダ（4 バイト）のみがオーバーヘッドとみなされます。
      <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">
      受信した MySQL クライアントサーバープロトコルの OK パケットの合計サイズ（バイト単位）。
      OK パケットにはステータスメッセージを含めることができます。
      ステータスメッセージの長さは可変であるため、OK パケットのサイズは固定ではありません。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-ok"><code class="literal">packets_received_ok</code></dt>
    <dd>
     <span class="simpara">
      受信した MySQL クライアントサーバープロトコルの OK パケットの数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.bytes-received-eof-packet"><code class="literal">bytes_received_eof_packet</code></dt>
    <dd>
     <span class="simpara">
      受信した MySQL クライアントサーバープロトコルの EOF パケットの合計サイズ（バイト単位）。
      EOF のサイズはサーバーのバージョンによって異なる場合があります。
      また、EOF はエラーメッセージを転送することもあります。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-received-eof"><code class="literal">packets_received_eof</code></dt>
    <dd>
     <span class="simpara">
      MySQL クライアントサーバープロトコルの EOF パケットの数。
     </span>
     <span class="simpara">
      他のパケット統計情報と同様に、PHP が期待するパケットではなく
      たとえばエラーメッセージを受信した場合でもパケット数は増加します。
     </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">
      受信した MySQL クライアントサーバープロトコルの結果セットのヘッダパケット
      合計サイズ（バイト単位）。
      パケットのサイズはペイロード
      （<code class="literal">LOAD LOCAL INFILE</code>、<code class="literal">INSERT</code>、
      <code class="literal">UPDATE</code>、<code class="literal">SELECT</code>、エラーメッセージ）によって異なります。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </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">
      MySQL クライアントサーバープロトコルの結果セットのヘッダパケット数。
     </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">
      受信した MySQL クライアントサーバープロトコルの結果セットのメタデータ
      （フィールド情報）パケット合計サイズ（バイト単位）。
      当然、サイズは結果セット内のフィールドによって異なります。
      COM_LIST_FIELDS の場合、パケットにはエラーまたは EOF パケットが
      含まれることもあります。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </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">
      MySQL クライアントサーバープロトコルの結果セットのメタデータ
      （フィールド情報）パケット数。
     </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">
      受信した MySQL クライアントサーバープロトコルの結果セットの行データパケット
      合計サイズ（バイト単位）。
      パケットにはエラーまたは EOF パケットが含まれることもあります。
      <code class="literal">rows_fetched_from_server_normal</code>
      と <code class="literal">rows_fetched_from_server_ps</code>
      を <code class="literal">bytes_received_rset_row_packet</code>
      から差し引くことで、エラーおよび EOF パケットの数を算出できます。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </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">
      MySQL クライアントサーバープロトコルの結果セットの行データパケット数。
     </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">
      受信した MySQL クライアントサーバープロトコルのプリペアドステートメント初期化用
      OK パケット（プリペアドステートメント初期化パケット）の合計サイズ（バイト単位）。
      パケットにはエラーが含まれることもあります。
      パケットのサイズは MySQL のバージョンによって異なります。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </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">
      MySQL クライアントサーバープロトコルのプリペアドステートメント初期化用
      OK パケット（プリペアドステートメント初期化パケット）の数。
     </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">
      受信した MySQL クライアントサーバープロトコルの COM_CHANGE_USER パケットの
      合計サイズ（バイト単位）。
      パケットにはエラーまたは EOF が含まれることもあります。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       合計サイズ（バイト単位）にはヘッダパケットのサイズ
       （4 バイト。プロトコルオーバーヘッドを参照）が含まれます。
      </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">
      MySQL クライアントサーバープロトコルの COM_CHANGE_USER パケットの数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.packets-sent-command"><code class="literal">packets_sent_command</code></dt>
    <dd>
     <span class="simpara">
      PHP から MySQL に送信された MySQL クライアントサーバープロトコルコマンドの数。
     </span>
     <span class="simpara">
      どの特定のコマンドがいくつ送信されたかを知る方法はありません。
     </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">
      PHP クライアントがテキストプロトコルを使用して
      <code class="literal">mysqlnd</code> から取得したペイロードのバイト数。
     </span>
     <span class="simpara">
      これは、プリペアドステートメントから生成されたものではなく、
      PHP クライアントが取得した結果セットに含まれる実データのサイズです。
     </span>
     <span class="simpara">
      <code class="literal">mysqlnd</code> が MySQL からの結果セット全体を
      取得済みであっても、この統計情報は PHP クライアントが
      <code class="literal">mysqlnd</code> から実際に取得したデータのみをカウントすることに
      注意してください。
     </span>
     <p class="para">
      値を増加させるコードの例を以下に示します。
      <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>

      フェッチ操作を行うたびに値が増加します。
     </p>
     <p class="para">
      ただし、結果セットがクライアント側でバッファリングされただけで
      フェッチされなかった場合、以下の例のように統計情報は増加しません。
      <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">
      PHP クライアントがプリペアドステートメントプロトコルを使用して
      <code class="literal">mysqlnd</code> から取得したペイロードのバイト数。
     </span>
     <span class="simpara">
      これは、プリペアドステートメントから生成され、
      PHP クライアントが取得した結果セットに含まれる実データのサイズです。
     </span>
     <span class="simpara">
      結果セットがその後 PHP クライアントによって読み取られなかった場合、値は増加しません。
     </span>
     <span class="simpara">
      <code class="literal">mysqlnd</code> が MySQL からの結果セット全体を
      取得済みであっても、この統計情報は PHP クライアントが
      <code class="literal">mysqlnd</code> から実際に取得したデータのみをカウントすることに
      注意してください。
     </span>
     <span class="simpara">
      <code class="literal">bytes_received_real_data_normal</code> も参照してください。
     </span>
    </dd>
   
  </dl>

  <dl>
   <strong class="title">結果セット関連の統計情報</strong>

   
    <dt id="mysqlnd.stats.statistics.result-set-queries"><code class="literal">result_set_queries</code></dt>
    <dd>
     <span class="simpara">
      結果セットを生成したクエリの数。
      結果セットを生成するクエリの例:
      <code class="literal">SELECT</code>、<code class="literal">SHOW</code>。
     </span>
     <span class="simpara">
      結果セットのヘッダパケットの読み取り時にエラーが発生した場合、
      この統計情報は増加しません。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       この統計情報は、PHP が 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">
      結果セットを生成しなかったクエリの数。
      結果セットを生成しないクエリの例:
      <code class="literal">INSERT</code>、<code class="literal">UPDATE</code>、<code class="literal">LOAD DATA</code>。
     </span>
     <span class="simpara">
      結果セットのヘッダパケットの読み取り時にエラーが発生した場合、
      この統計情報は増加しません。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       この統計情報は、PHP が 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">
      結果セットを生成したがインデックスを使用しなかったクエリの数。
      （mysqld の起動オプション <code class="literal">--log-queries-not-using-indexes</code> も参照してください。）
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       これらのクエリは、
       <code class="code">mysqli_report(MYSQLI_REPORT_INDEX);</code>
       を呼び出すことで例外を通じて報告させることができます。
       <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">
      結果セットを生成したが適切なインデックスを使用しなかったクエリの数。
      （mysqld の起動オプション <code class="literal">--log-slow-queries</code> も参照してください。）
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       これらのクエリは、
       <code class="code">mysqli_report(MYSQLI_REPORT_INDEX);</code>
       を呼び出すことで例外を通じて報告させることができます。
       <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">
      実行に <code class="literal">long_query_time</code> 秒以上かかり、
      少なくとも <code class="literal">min_examined_row_limit</code> 行の検査を
      必要とした SQL 文。
     </span>
     <div class="caution"><strong class="caution">警告</strong>
      <p class="simpara">
       <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">
      通常のクエリ（つまり、プリペアドステートメント経由ではないクエリ）が返した
      バッファリングされた結果セットの数。
     </span>
     <p class="para">
      クライアント側で結果セットをバッファリングする API 呼び出しの例:
      <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">
      通常のクエリ（つまり、プリペアドステートメント経由ではないクエリ）が返した
      バッファリングされない結果セットの数。
     </span>
     <p class="para">
      クライアント側で結果セットをバッファリングしない API 呼び出しの例:
      <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">
      プリペアドステートメントが返したバッファリングされた結果セットの数。
     </span>
     <p class="para">
      クライアント側で結果セットをバッファリングする API 呼び出しの例:
      <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">
      プリペアドステートメントが返したバッファリングされない結果セットの数。
     </span>
     <span class="simpara">
      デフォルトではプリペアドステートメントはバッファリングされないため、
      ほとんどのプリペアドステートメントはこの統計情報にカウントされます。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.flushed-normal-sets"><code class="literal">flushed_normal_sets</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（つまり、プリペアドステートメント経由ではないクエリ）が返した
      結果セットのうち、未読のデータが暗黙的にフラッシュされたものの数。
     </span>

     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       フラッシュはバッファリングされない結果セットでのみ発生します。
      </span>
      <span class="simpara">
       バッファリングされない結果セットは、接続上で新しいクエリを実行する前に
       完全にフェッチする必要があります。そうしないと MySQL がエラーをスローします。
       アプリケーションがバッファリングされない結果セットのすべての行をフェッチしなかった場合、
       mysqlnd は暗黙的に結果セットをフェッチして回線をクリアします。
      </span>
      <span class="simpara">
       <code class="literal">rows_skipped_normal</code>、<code class="literal">rows_skipped_ps</code> も参照してください。
      </span>
      <p class="para">
       暗黙的なフラッシュが発生する原因の例:
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          クライアントアプリケーションの不具合
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          クライアントが必要なデータを見つけた後に読み取りを中止したが、
          MySQL に必要以上のレコードを計算させてしまった場合
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          クライアントアプリケーションが予期せず停止した場合
         </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">
      プリペアドステートメントが返した結果セットのうち、
      未読のデータが暗黙的にフラッシュされたものの数。
     </span>

     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       フラッシュはバッファリングされない結果セットでのみ発生します。
      </span>
      <span class="simpara">
       バッファリングされない結果セットは、接続上で新しいクエリを実行する前に
       完全にフェッチする必要があります。そうしないと MySQL がエラーをスローします。
       アプリケーションがバッファリングされない結果セットのすべての行をフェッチしなかった場合、
       mysqlnd は暗黙的に結果セットをフェッチして回線をクリアします。
      </span>
      <span class="simpara">
       <code class="literal">rows_skipped_normal</code>、<code class="literal">rows_skipped_ps</code> も参照してください。
      </span>
      <p class="para">
       暗黙的なフラッシュが発生する原因の例:
       <ul class="itemizedlist">
        <li class="listitem">
         <span class="simpara">
          クライアントアプリケーションの不具合
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          クライアントが必要なデータを見つけた後に読み取りを中止したが、
          MySQL に必要以上のレコードを計算させてしまった場合
         </span>
        </li>
        <li class="listitem">
         <span class="simpara">
          クライアントアプリケーションが予期せず停止した場合
         </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">
      準備されたが一度も実行されなかったステートメントの数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.ps-prepared-once-executed"><code class="literal">ps_prepared_once_executed</code></dt>
    <dd>
     <span class="simpara">
      一度だけ実行されたプリペアドステートメントの数。
     </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">
      サーバーからフェッチされた結果セット行の合計数。
      これには、クライアントが読み取らなかったが、
      バッファリングされない結果セットのフラッシュにより暗黙的にフェッチされた行も含まれます。
     </span>
     <span class="simpara">
      <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">
      通常のクエリから生成された、バッファリングされた行の合計数。
     </span>
     <span class="simpara">
      これは、MySQL からフェッチされ、クライアント側でバッファリングされた行の数です。
     </span>
     <p class="para">
      結果をバッファリングするクエリの例:
      <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">
      <code class="literal">rows_buffered_from_client_normal</code> と同様ですが、
      プリペアドステートメント用です。
     </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">
      通常のクエリで作成されたバッファリングされた結果セットから、
      クライアントがフェッチした行の合計数。
     </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">
      プリペアドステートメントで作成されたバッファリングされた結果セットから、
      クライアントがフェッチした行の合計数。
     </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">
      通常のクエリで作成されたバッファリングされない結果セットから、
      クライアントがフェッチした行の合計数。
     </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">
      プリペアドステートメントで作成されたバッファリングされない結果セットから、
      クライアントがフェッチした行の合計数。
     </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">
      プリペアドステートメントで作成されたカーソルから、
      クライアントがフェッチした行の合計数。
     </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">
      将来の使用のために予約されています（現在はサポートされていません）。
     </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">
      これはプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      mysqlnd では、拡張モジュールが返す変数は mysqlnd の
      内部ネットワーク結果バッファを指しています。
      データが変更されない場合、フェッチされたデータはメモリ内に一度だけ保持されます。
      ただし、データを変更する場合は、mysqlnd が
      コピーオンライト操作を実行します。
     </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">
      これは接続レベルおよびプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      解放された結果セットの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-null"><code class="literal">proto_text_fetched_null</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_NULL</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-null"><code class="literal">proto_binary_fetched_null</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_NULL</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-bit"><code class="literal">proto_text_fetched_bit</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_BIT</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-bit"><code class="literal">proto_binary_fetched_bit</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_BIT</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-tinyint"><code class="literal">proto_text_fetched_tinyint</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TINY</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-tinyint"><code class="literal">proto_binary_fetched_tinyint</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TINY</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-short"><code class="literal">proto_text_fetched_short</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_SHORT</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-short"><code class="literal">proto_binary_fetched_short</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_SHORT</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-int24"><code class="literal">proto_text_fetched_int24</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_INT24</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-int24"><code class="literal">proto_binary_fetched_int24</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_INT24</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-int"><code class="literal">proto_text_fetched_int</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_LONG</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-int"><code class="literal">proto_binary_fetched_int</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_LONG</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-bigint"><code class="literal">proto_text_fetched_bigint</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_LONGLONG</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-bigint"><code class="literal">proto_binary_fetched_bigint</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_LONGLONG</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-decimal"><code class="literal">proto_text_fetched_decimal</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DECIMAL</code> または <code class="literal">MYSQL_TYPE_NEWDECIMAL</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-decimal"><code class="literal">proto_binary_fetched_decimal</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DECIMAL</code> または <code class="literal">MYSQL_TYPE_NEWDECIMAL</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-float"><code class="literal">proto_text_fetched_float</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_FLOAT</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-float"><code class="literal">proto_binary_fetched_float</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_FLOAT</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-double"><code class="literal">proto_text_fetched_double</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DOUBLE</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-double"><code class="literal">proto_binary_fetched_double</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DOUBLE</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-date"><code class="literal">proto_text_fetched_date</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DATE</code> または <code class="literal">MYSQL_TYPE_NEWDATE</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-date"><code class="literal">proto_binary_fetched_date</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DATE</code> または <code class="literal">MYSQL_TYPE_NEWDATE</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-year"><code class="literal">proto_text_fetched_year</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_YEAR</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-year"><code class="literal">proto_binary_fetched_year</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_YEAR</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-time"><code class="literal">proto_text_fetched_time</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TIME</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-time"><code class="literal">proto_binary_fetched_time</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TIME</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-datetime"><code class="literal">proto_text_fetched_datetime</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DATETIME</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-datetime"><code class="literal">proto_binary_fetched_datetime</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_DATETIME</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-timestamp"><code class="literal">proto_text_fetched_timestamp</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TIMESTAMP</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-timestamp"><code class="literal">proto_binary_fetched_timestamp</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TIMESTAMP</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-string"><code class="literal">proto_text_fetched_string</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_STRING</code>、<code class="literal">MYSQL_TYPE_VARSTRING</code>、または <code class="literal">MYSQL_TYPE_VARCHAR</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-string"><code class="literal">proto_binary_fetched_string</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_STRING</code>、<code class="literal">MYSQL_TYPE_VARSTRING</code>、または <code class="literal">MYSQL_TYPE_VARCHAR</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-blob"><code class="literal">proto_text_fetched_blob</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TINY_BLOB</code>、
      <code class="literal">MYSQL_TYPE_MEDIUM_BLOB</code>、
      <code class="literal">MYSQL_TYPE_LONG_BLOB</code>、
      または <code class="literal">MYSQL_TYPE_BLOB</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-blob"><code class="literal">proto_binary_fetched_blob</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_TINY_BLOB</code>、
      <code class="literal">MYSQL_TYPE_MEDIUM_BLOB</code>、
      <code class="literal">MYSQL_TYPE_LONG_BLOB</code>、
      または <code class="literal">MYSQL_TYPE_BLOB</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-enum"><code class="literal">proto_text_fetched_enum</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_ENUM</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-enum"><code class="literal">proto_binary_fetched_enum</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_ENUM</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-set"><code class="literal">proto_text_fetched_set</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_SET</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-set"><code class="literal">proto_binary_fetched_set</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_SET</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-geometry"><code class="literal">proto_text_fetched_geometry</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_GEOMETRY</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-binary-fetched-geometry"><code class="literal">proto_binary_fetched_geometry</code></dt>
    <dd>
     <span class="simpara">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した
      <code class="literal">MYSQL_TYPE_GEOMETRY</code>
      型のカラムの合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.proto-text-fetched-other"><code class="literal">proto_text_fetched_other</code></dt>
    <dd>
     <span class="simpara">
      通常のクエリ（MySQL テキストプロトコル）から取得した、
      上記に記載されていない
      <code class="literal">MYSQL_TYPE_<span class="replaceable">*</span></code>
      型のカラムの合計数。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       理論上、これは常に <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">
      プリペアドステートメント（MySQL バイナリプロトコル）から取得した、
      上記に記載されていない
      <code class="literal">MYSQL_TYPE_<span class="replaceable">*</span></code>
      型のカラムの合計数。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       理論上、これは常に <code class="literal">0</code> になるはずです。
      </span>
     </p></blockquote>
    </dd>
   

  </dl>

  <dl>
   <strong class="title">接続関連の統計情報</strong>

   
    <dt id="mysqlnd.stats.statistics.connect-success"><code class="literal">connect_success</code></dt>
    <dd>
     <span class="simpara">
      成功した接続試行の合計数。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       <code class="literal">connect_success</code> には、成功した持続的接続と
       非持続的接続の試行の合計が含まれます。
       したがって、成功した非持続的接続の試行数は
       <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">
      成功した持続的接続試行の合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.connect-failure"><code class="literal">connect_failure</code></dt>
    <dd>
     <span class="simpara">
      失敗した接続試行の合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.reconnect"><code class="literal">reconnect</code></dt>
    <dd>
     <span class="simpara">
      これはプロセスレベルのスコープの統計情報です。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.active-connections"><code class="literal">active_connections</code></dt>
    <dd>
     <span class="simpara">
      これはプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      アクティブな持続的接続と非持続的接続の合計数。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       アクティブな非持続的接続の合計数は
       <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">
      これはプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      アクティブな持続的接続の合計数。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.explicit-close"><code class="literal">explicit_close</code></dt>
    <dd>
     <span class="simpara">
      明示的に閉じられた接続の合計数。
     </span>
     <div class="example" id="example-1">
      <p><strong>例1 明示的なクローズが発生するコードスニペットの例</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">
      暗黙的に閉じられた接続の合計数。
     </span>
     <div class="example" id="example-2">
      <p><strong>例2 暗黙的なクローズが発生するコードスニペットの例</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">
         持続的接続: プールされた接続が
         real_connect で作成されており、未知のオプションが設定されている可能性がある場合、
         未知のオプションが設定された接続を返すことを避けるために暗黙的にクローズする
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         持続的接続: ping/change_user が失敗し、ext/mysqli
         が接続をクローズする場合
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         スクリプト実行の終了時: ユーザーが閉じなかった接続を
         自動的にクローズする
        </span>
       </li>
      </ul>
     </div>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.disconnect-close"><code class="literal">disconnect_close</code></dt>
    <dd>
     <span class="simpara">
      接続確立時に C API の
      <code class="literal">mysql_real_connect</code> 呼び出しが示す接続失敗。
     </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">
      これはプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      コマンド実行の途中でクローズされた接続
      （未取得の結果セットがある状態、クエリ送信後かつ応答受信前、
      データフェッチ中、LOAD DATA でのデータ転送中）。
     </span>
     <div class="warning"><strong class="warning">警告</strong>
      <p class="simpara">
       非同期クエリを使用していない限り、
       これは PHP アプリケーションが予期せず終了し、
       PHP が自動的に接続をクローズした場合にのみ発生するはずです。
      </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">
      init コマンドの実行回数の合計。
      例: <code class="code">mysqli_options(MYSQLI_INIT_COMMAND , $value)</code>。
     </span>
     <span class="simpara">
      成功した実行回数は
      <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">
      失敗した init コマンドの合計数。
     </span>
    </dd>
   
  </dl>

  <dl>
   <strong class="title"><code class="literal">COM_*</code> コマンド関連の統計情報</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">
      PHP から MySQL に特定の <code class="literal">COM_*</code>
      コマンドを送信した試行回数の合計。
     </span>
     <span class="simpara">
      統計情報は、回線の確認後、対応する MySQL クライアントサーバープロトコルパケットを
      送信する直前にインクリメントされます。
     </span>
     <div class="caution"><strong class="caution">警告</strong>
      <p class="simpara">
       MySQLnd がパケットの送信に失敗した場合でも、統計情報はデクリメントされません。
       失敗した場合、MySQLnd は PHP の警告
       <q class="quote">Error while sending %s packet. PID=%d.</q>
       を発行します。
      </p>
     </div>

     <div class="example" id="example-3">
      <p><strong>例3 使用例</strong></p>
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         PHP が特定のコマンドを MySQL に送信しているかどうかを確認する。
         たとえば、クライアントが <code class="literal">COM_PROCESS_KILL</code>
         を送信しているかどうかを確認する
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">COM_EXECUTE</code> と
         <code class="literal">COM_PREPARE</code> を比較して、
         プリペアドステートメントの平均実行回数を算出する
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">COM_QUERY</code> がゼロかどうかを確認して、
         PHP がプリペアドステートメント以外の SQL 文を実行していないかどうかを確認する
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">COM_QUERY</code> と
         <code class="literal">COM_EXECUTE</code> を確認して、
         過剰な数の SQL 文を実行している PHP スクリプトを特定する
        </span>
       </li>
      </ul>
     </div>
    </dd>
   
  </dl>

  <dl>
   <strong class="title">その他の統計情報</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">
      これはプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      クローズされたプリペアドステートメントの合計数。
     </span>
     <blockquote class="note"><p><strong class="note">注意</strong>: 
      <span class="simpara">
       プリペアドステートメントは常に明示的にクローズされます。暗黙的にクローズされるのは、
       準備に失敗した場合だけです。
      </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">
      これはプロセスレベルのスコープの統計情報です。
     </span>
     <span class="simpara">
      メモリ管理の呼び出し。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.command-buffer-too-small"><code class="literal">command_buffer_too_small</code></dt>
    
    <dd>
     <span class="simpara">
      PHP から MySQL にコマンドを送信する際に、ネットワークコマンドバッファが
      拡張された回数。
     </span>
     <span class="simpara">
      MySQLnd は各接続に対して
      <a href="mysqlnd.config.php#ini.mysqlnd.net-cmd-buffer-size" class="link">mysqlnd.net_cmd_buffer_size</a>
      バイトの内部コマンド/ネットワークバッファを割り当てます。
     </span>
     <span class="simpara">
      MySQL クライアントサーバープロトコルコマンド、
      たとえば <code class="literal">COM_QUERY</code>（通常のクエリ）が
      バッファに収まらない場合、
      MySQLnd はコマンドの送信に必要なサイズまでバッファを拡張します。
      ある接続でバッファが拡張されるたびに、
      <code class="literal">command_buffer_too_small</code> が 1 増加します。
     </span>
     <span class="simpara">
      MySQLnd がほぼすべての接続で初期サイズの
      <a href="mysqlnd.config.php#ini.mysqlnd.net-cmd-buffer-size" class="link">mysqlnd.net_cmd_buffer_size</a>
      バイトを超えてバッファを拡張する必要がある場合は、
      再割り当てを避けるためにデフォルトサイズの増加を検討すべきです。
     </span>
    </dd>
   

   
    <dt id="mysqlnd.stats.statistics.connection-reused"><code class="literal">connection_reused</code></dt>
    <dd>
     <span class="simpara">
      持続的接続が再利用された合計回数。
     </span>
    </dd>
   
  </dl>
 </div>
</div>
<?php manual_footer($setup); ?>