String SQLCommand="select * from UserManage where Id='"+abc+"'"; (注:这里的abc就是我的随机数组) 这样做行得通吗??
To :ycats(加菲猫)你和我的想法一样,可是有一个问题:这58个随机数是用for语句来循环进行SQl查询呢,还是将他们放在一个数组中间一次性查询?我认为应该用一次性查询,这样可以大大提高速度,可是如果用一次性查询,SQl语句怎么写??
To: cuijinjing(精灵) 老大(或者小妹妹),如果用循环,那要是需要抽取几百个数据,那速度非慢死不可了,你说呢?
//先生成一个58个元素的随机数的数组xx[58]String sql = "select * from UserManage where Id = -1 "; for(int i = 0; i < 58; i ++) { sql += " or Id = " + xx[i]; }ResultSet rs = stmt.executeQuery(sql);
全部取出来,再抽样?Java 有random函数吗??
use random function
b.nextInt(1000);得到0-999这几个数 .......
这样比较麻烦。能不能先产生一个随机数组(随机数组中的数据和数据库中的Id是相对应的),再直接从数据库中select我想要的数据呢?比如:
String SQLCommand="select * from UserManage where Id='"+abc+"'";
(注:这里的abc就是我的随机数组)
这样做行得通吗??
To :ycats(加菲猫)你和我的想法一样,可是有一个问题:这58个随机数是用for语句来循环进行SQl查询呢,还是将他们放在一个数组中间一次性查询?我认为应该用一次性查询,这样可以大大提高速度,可是如果用一次性查询,SQl语句怎么写??
To: cuijinjing(精灵) 老大(或者小妹妹),如果用循环,那要是需要抽取几百个数据,那速度非慢死不可了,你说呢?
for(int i = 0; i < 58; i ++)
{
sql += " or Id = " + xx[i];
}ResultSet rs = stmt.executeQuery(sql);
可行?等我解决之后,登门道谢:)
java写这东西只需要X秒
既然这样,不如......