【发布时间】:2012-07-09 04:49:05
【问题描述】:
我想根据不同的情况更新列中的一些值..... 该表具有以下详细信息,例如.....
Date date
period int
subcode varchar(3)
status_bits varchar(100)
// status bits resemble an information based code based...the data usually stored are 2343211 where each value in digits represent an information.....
现在我必须根据不同的日期和时期更新这些值....
现在考虑java program......
我已将详细信息存储在 java 中的相应变量中,例如..
java.util.Date date[];
int period[];
String subcode[];
// Here for an index i , they share the same values within a row.....
如果我想以这样一种方式更新它,即我想将 varchar 中的第 5 个字母更改为不同的日期、期间和子代码(组合)..... 现在..我目前的表现是这样的......
Connection con;
preparedStatement ps;
String bitstatus;
for(i=0; i < noofupdates; i++)
{
ps = con.prepareStatement("select status_bits from tablename where Date = ? AND period = ? AND subcode = ? limit 0,1");
ps.setDate(1,date[i]);
ps.setInt(2,period[i])'
ps.setString(3,subcode[i]);
rs=ps.executeQuery();
while(rs.next())
{
bitstatus = rs.getString(1);
// performed operation to update the bit.....
ps=con.prepareStatment("update status_bits correspondind to the same date,field and subcode");
ps.executeUpdate();
}
}
现在我假设您从程序中了解到我想根据位操作常见的不同日期和期间更新表中的 status_bits......现在我真的知道了这些方法正在敲击大量查询并严重影响 mysql 性能......所以请通过提供一个替代想法来帮助我......有大约 1000 条记录要更新......
【问题讨论】:
标签: java mysql database-design