I have a time-indexed Oracle DB that I am trying to query by a date range. I also want to reduce data in the query so as not to overload too much data.
Offline date request (2352 lines in 0.203s):
select oracle_time from t_ssv_soh_packets0
where oracle_time >= TIMESTAMP '2009-01-01 00:00:00'
AND oracle_time <= TIMESTAMP '2009-01-31 00:00:00'
Recovery request booth (1017 in 0.89 sec.):
select oracle_time from t_ssv_soh_packets0
where (rowid,0) in (select rowid, mod(rownum,50) from t_ssv_soh_packets0)
When I try to combine them, it takes forever (48 lines in 32.547):
select oracle_time from t_ssv_soh_packets0
where oracle_time >= TIMESTAMP '2009-01-01 00:00:00'
AND oracle_time <= TIMESTAMP '2009-01-31 00:00:00'
AND (rowid,0) in (select rowid, mod(rownum,50) from t_ssv_soh_packets0)
Obviously, I'm doing something fundamentally wrong here, but I don’t know how else to execute the query by date and reduce the data.
Jason source
share