1 oracle删除数据用了
select count(*) from GPSTEST t where gpstime<'20140730020101' 有 1689675条数据
delete from GPSTEST t where gpstime<'20140730020101' 耗时 23分钟
有索引
2 varchar记录时间
比较大小时可以直接拿来比较,如果长度一样的话,因为都是一位一位比较大小,所以有长度的限制
3 java传参
尽量不用to_date,所以当有条件判断需要时间格式时
类似
date a,b= ....PrepareStatment s = 'select * from test where mydatecolumn between ? and ?'s.set(1) = a;s.set(2) = b;而不是使用s = 'select * from test where mydatecolumn between to_date( '2007-10-22 20:20:20 ', 'yyyy-MM-DD hh-mm-ss ') and to_date( '2007-10-22 22:22:22 ', 'yyyy-MM-DD hh-mm-ss ')'因为这样会出现数据的不一致,比如出现不符合要求的日期:2007-22-22而抛出异常。ps:
在直接使用sql访问数据库的时候肯定要用to_date的。此处参见:
4传参后的时间保存到秒
用3方法中储存数据则时间只会到日,精确到秒使用
java.sql.Date sd;
java.util.Date ud ; ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());ptmt = conn.prepareStatement("insert into plan_singlebridge values (?)");ptmt.setDate(1, sd);-----实际存入的数据之精确到天并没有时秒分的数据;困扰了很久改成时间戳的形式就可以了ptmt.setTimestamp(1,new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()));此处参见 : http://www.iteye.com/topic/128068