咨询java的resultset结果集的检索问题
问一个问题,一个表(视图)V_ZJ_T_YJMX 有大量数据,几百万级,
V_YJHM,N_LSH 对应邮件号码和流水号列,其中N_LSH为number(12)类型,并且V_ZJ_T_YJMX 的主键为N_LSH
resultset rs=null;
sql_query = "SELECT V_YJHM,N_LSH FROM V_ZJ_T_YJMX WHERE V_BZDM <> '1' "; //数据一般有50万条
ptmt_query = conn.prepareStatement(sql_query);
rs = ptmt_query.executeQuery();
while (rs.next()) {
yjhm = rs.getString(1); // 邮件号码
yjlsh = rs.getInt(2); // 邮件流水号
--满足条件后,将V_ZJ_T_YJMX 视图的字段V_BZDM='1'
UPDATE V_ZJ_T_YJMX SET V_BZDM='1' WHERE N_LSH=yjlsh ;
}
现在的问题是,我发现取到的部分yjlsh 的值不对的,在视图V_ZJ_T_YJMX 中查询根本就没有yjlsh 对应的纪录,请问这个是什么原因?
是不是超过resultset rs的范围了?
还是更新UPDATE V_ZJ_T_YJMX SET V_BZDM='1' WHERE N_LSH=yjlsh ;语句影响了resultset的结果?
第二个问题,每次rs.next()的操作,都是去重新检索数据库?还是去从缓存中获取?缓存不够了是不是继续查询数据库?