データベース・アプリケーションでは、カーソルを使用する必要はありませんが、カーソルには多くの利点があります。たとえば、カーソルを使用しない場合は、処理や表示のために結果セット全体をクライアントに送信する必要があることからも、カーソルの利点は明らかです。
クライアント側メモリ 結果セットのサイズが大きい場合、結果セット全体をクライアントに格納するには、クライアントに必要なメモリ容量が増えることがあります。
応答時間 カーソルは、結果セット全体をアセンブルする前に、最初の数行分のローを表示することができます。カーソルを使わない場合は、アプリケーションがどのローを表示するにも、まず結果セット全体が送信されている必要があります。
同時実行性の制御 アプリケーションでデータを更新する場合にカーソルを使用しない場合、変更を適用するために別の SQL 文をデータベース・サーバに送信します。この方法では、クライアントがクエリを実行した後で結果セットが変更された場合には、同時実行性の問題が生じる可能性があります。その結果、更新情報が失われる可能性もあります。
カーソルは、基本となるデータへのポインタとして機能します。したがって、加えた変更には適切な同時実行性制約が課されます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |