我正在尝试将数据从数据库中的表导出到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;
}