Mysql Connector C ++无缓冲的ResultSet C ++

时间:2017-02-07 18:32:54

标签: c++ mysql mysql-connector

我有一个包含大量数据的表。 我想获取所有数据并逐个处理它们。

根据此处的文件: https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-results.html

  

用于获取结果集的API对于(简单)语句是相同的   准备好的陈述。如果您的查询返回一个结果集,请使用   sql :: Statement :: executeQuery()或   sql :: PreparedStatement :: executeQuery()来运行您的查询。两种方法   返回sql :: ResultSet对象。默认情况下,Connector / C ++缓冲所有   客户端上的结果集以支持游标。

默认情况下,它会缓存客户端上的所有结果集。 我怎么能禁用它?

1 个答案:

答案 0 :(得分:1)

在语句中,您可以定义结果集的类型。使用TYPE_FORWARD_ONLY会导致mysql release notes中定义的无缓冲结果集:

  

...实现了getResultSetType()和setResultSetType()   声明。使用TYPE_FORWARD_ONLY,表示无缓冲的结果集   和TYPE_SCROLL_INSENSITIVE,表示缓冲的结果集。

希望它有所帮助。