データベースのテーブルから形式のファイルにデータをエクスポートしようとしていcsv
ます。以下のプログラムを思いつきました。私のテーブルには約13 million
行が含まれており、このプログラムは非常に遅いです。
このプログラムを高速化するにはどうすればよいですか?
#include <iostream>
#include <occi.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
int main()
{
oracle::occi::Environment* environment;
oracle::occi::Connection *con;
oracle::occi::Statement* stmt;
oracle::occi::ResultSet* res;
try
{
ofstream outfile;
outfile.open("example.txt");
string user ; cin>>user;
string pass ; cin>>pass;
string instance ; cin >>instance;
environment = oracle::occi::Environment::createEnvironment(oracle::occi::Environment::DEFAULT);
con = environment->createConnection(user,pass,instance);
string query = "SELECT A,B FROM TABLE_X";
stmt = con->createStatement(query);
res = stmt->executeQuery();
while (res->next())
{
outfile<<res->getInt(1)<<','<<res->getInt(2)<<'\n';
}
outfile.close();
stmt->closeResultSet(res);
con->terminateStatement(stmt);
environment->terminateConnection(con);
}catch(oracle::occi::SQLException &e){
std::cout<<e.what();
}
return 0;
}