背景:
1. 查询数据库,数据量是百万级.
2. 数据实时有新数据插入到表中,会打乱原来的数据顺序.(分页查询就被打乱了)
需求:
需要查询某一时刻的数据,并按照顺序写入到文件中.
大家讨论下,给点思路.
------解决方案--------------------
用聚簇索引吧
------解决方案--------------------
插入数据时,加上时间点就行了
数据存储是没有排序的,要自己对结果集进行order by
------解决方案--------------------
那就没办法了,要保证后续的分页查询的和第一次查询时数据一致,没有时间字段,就只剩一个办法:undo够大的话,用闪回查询
select * from (.....) as of timestamp to_date(....)
------解决方案--------------------
百度搜 oracle 闪回查询
------解决方案--------------------
---查询表20060531日16点12分25秒的数据
SELECT * FROM 表名 AS OF TIMESTAMP
TO_TIMESTAMP('2006-5-31 16:12:25',
'YYYY-MM-DD HH24:MI:SS');
------解决方案--------------------
加入时间字段,插入时默认当前时间,
如果之前的没有值,就默认很原始的时间