1 oracle删除数据用了java
select count(*) from GPSTEST t where gpstime<'20140730020101' 有 1689675条数据sql
delete from GPSTEST t where gpstime<'20140730020101' 耗时 23分钟数据库
有索引oracle
2 varchar记录时间spa
比较大小时能够直接拿来比较,若是长度同样的话,由于都是一位一位比较大小,因此有长度的限制.net
3 java传参索引
尽可能不用to_date,因此当有条件判断须要时间格式时get
相似
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而抛出异常。it
ps:
在直接使用sql访问数据库的时候确定要用to_date的。test
此处参见:http://bbs.csdn.net/topics/190057099
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