我有一个包含大量数据的表。 我想获取所有数据并逐个处理它们。
根据此处的文件: https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-examples-results.html
用于获取结果集的API对于(简单)语句是相同的 准备好的陈述。如果您的查询返回一个结果集,请使用 sql :: Statement :: executeQuery()或 sql :: PreparedStatement :: executeQuery()来运行您的查询。两种方法 返回sql :: ResultSet对象。默认情况下,Connector / C ++缓冲所有 客户端上的结果集以支持游标。
默认情况下,它会缓存客户端上的所有结果集。 我怎么能禁用它?
答案 0 :(得分:1)
在语句中,您可以定义结果集的类型。使用TYPE_FORWARD_ONLY
会导致mysql release notes中定义的无缓冲结果集:
...实现了getResultSetType()和setResultSetType() 声明。使用TYPE_FORWARD_ONLY,表示无缓冲的结果集 和TYPE_SCROLL_INSENSITIVE,表示缓冲的结果集。
希望它有所帮助。