Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - プログラミング » SQL Anywhere でのプログラミングの概要 » アプリケーションでの SQL の使用 » カーソルを使用した操作

 

複数ローのフェッチ

複数ローのフェッチとローのプリフェッチを混同しないでください。複数のローのフェッチはアプリケーションによって実行されます。一方、プリフェッチはアプリケーションに対して透過的で、同様にパフォーマンスが向上します。一度に複数のローをフェッチすると、パフォーマンスを向上させることができます。

複数ローのフェッチ

インタフェースによっては、配列内の次のいくつかのフィールドへ複数のローを一度にフェッチすることができます。一般的に、実行する個々のフェッチ操作が少なければ少ないほど、サーバが応答する個々の要求が少なくなり、パフォーマンスが向上します。複数のローを取り出すように修正された FETCH 文を「ワイド・フェッチ」と呼ぶこともあります。複数のローのフェッチを使うカーソルは「ブロック・カーソル」または「ファット・カーソル」とも呼びます。

複数ロー・フェッチの使用
  • ODBC では、SQL_ATTR_ROW_ARRAY_SIZE または SQL_ROWSET_SIZE 属性を設定して、SQLFetchScroll または SQLExtendedFetch をそれぞれ呼び出したときに返されるローの数を設定できます。

  • Embedded SQL では、FETCH 文で ARRAY 句を使用して、一度にフェッチされるローの数を制御します。

  • Open Client と JDBC は複数のローのフェッチをサポートしません。これらのインタフェースではプリフェッチを使用します。