2017-02-07 5 views
0

大きなデータを保持するテーブルがあります。 すべてのデータをフェッチし、1つずつ処理したいと考えています。MysqlコネクタC++バッファなしResultSet C++

ここでのドキュメントによると: https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-results.html

結果セットを取得するためのAPIは(簡単な)文 と準備された文で同じです。クエリで1つの結果セットが返された場合は、 sql :: Statement :: executeQuery()または sql :: PreparedStatement :: executeQuery()を使用してクエリを実行します。両方のメソッド は、sql :: ResultSetオブジェクトを返します。既定では、Connector/C++はカーソルをサポートするためにすべてのクライアントの 結果セットをバッファします。

デフォルトでは、すべての結果セットがクライアントにバッファされます。 どうすれば無効にできますか?

答えて

1

この文では、結果セットのタイプを定義できます。 mysql release notesで定義されているようTYPE_FORWARD_ONLYを使用すると、バッファなしの結果セットにつながる:

... StatementのgetResultSetType()とsetResultSetTypeを()実装します。バッファされない結果セット を意味するTYPE_FORWARD_ONLYと、バッファされた結果セットを意味するTYPE_SCROLL_INSENSITIVEを使用します。

希望します。

関連する問題