假如有个表tbltest: 字段:testid,testname;(表中的记录有几千万条记录)
需要从文本文件中读数据(文件的数据有1百万条),然后把数据与表tbltest中的testname进行比较进行查询。统计出表中的记录数
在C++中使用vector<string> v_testname保存数据,
使用for循环写成的查询语句为:
string strSQL;
strSQL = "select count(*) from tbltest where testname in ";
for(vector<int>::size_type i=0; i!=v_testname.size(); ++i)
{
if(i==0)
{
strSQL +="('"+v_testname[i]+"'";
}else{
strSQL += ",'"+v_testname[i]+"'";
}
}
strSQL +=")";如果这样的话,string太长了,不行。
如果分开每条记录进行查询的话,查询次数太多,速度很慢。
请问还有什么方法进行查询?
需要从文本文件中读数据(文件的数据有1百万条),然后把数据与表tbltest中的testname进行比较进行查询。统计出表中的记录数
在C++中使用vector<string> v_testname保存数据,
使用for循环写成的查询语句为:
string strSQL;
strSQL = "select count(*) from tbltest where testname in ";
for(vector<int>::size_type i=0; i!=v_testname.size(); ++i)
{
if(i==0)
{
strSQL +="('"+v_testname[i]+"'";
}else{
strSQL += ",'"+v_testname[i]+"'";
}
}
strSQL +=")";如果这样的话,string太长了,不行。
如果分开每条记录进行查询的话,查询次数太多,速度很慢。
请问还有什么方法进行查询?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货