提供个思路:我觉得你分割的思想其实挺好的,只是实际上并不需要真的分割,你要做的只是维护一个索引文件。就是说通过读一遍文件,每1000条(比方说),将1000条的起始文件偏移和结束偏移更这1000条的起始时间和结束时间关联起来。这样你可以得到一个索引文件。
时间1~时间2,文件1,offset1~offset2
时间3~时间4,文件2,offset3~offset4
...
将来你要查询的时候,先查索引文件,就可以知道需要的数据在哪个文件的什么区间里面了。因为你每个文件本身是按时间排序的,所以在建立索引的时候无需排序。