需要查询满足条件的所有记录,表呢不大也就400条,
是这样的:先拿到一个请求数组 String[] a=new String[?];
数组长度不确定,可能是2个,3个,也可能是100多200多.
查询数据库表中满足字段值与数组元素相等的所有记录:是
String sqltail=""
for(int i=0;i<a.length;i++){
sqltail+=a[i]+","
}
处理一下sqltail.
然后:
select name from table where id(a[1],a[2],a[3]......);这样好呢
还是
for(int i=0;i<a.length;i++){
sql="select name from table where id="+a[i];
db.executeQuery(sql);
....
}
求答案,哪个效率高些呢?谢谢
是这样的:先拿到一个请求数组 String[] a=new String[?];
数组长度不确定,可能是2个,3个,也可能是100多200多.
查询数据库表中满足字段值与数组元素相等的所有记录:是
String sqltail=""
for(int i=0;i<a.length;i++){
sqltail+=a[i]+","
}
处理一下sqltail.
然后:
select name from table where id(a[1],a[2],a[3]......);这样好呢
还是
for(int i=0;i<a.length;i++){
sql="select name from table where id="+a[i];
db.executeQuery(sql);
....
}
求答案,哪个效率高些呢?谢谢
//select operation
long l2 = System.currentTimeMillis() ;long l = l1 - l2 ;
比较一下就可以了
处理一下sqltail.
然后:
select name from table where id in (a[1],a[2],a[3]......);这样好呢少了一个in 字
后一种方法会造成交互的次数过多,影响效率
建议采用折中的办法,10个(当然可以自定)分一组用in查询