...
For raw data query in a Chunk:
(1) time > t:
分析:假设 Chunk 中共有 n 个 Page,满足时间过滤要求的 Page 有 m 个
(a) 顺序读 前几个 Page,然后开始顺序读后面的 PageData
需要读 n 个 PageHeader,m 个 PageData,seek (n - m) 次
(b) 顺序读 前几个 PageHeader,然后开始顺序读后面的 PageData
需要读 (2) time < t:
...
n - m) 个 PageHeader,m 个 PageData,seek 1 次
举例:
假设 Chunk 中有6个 Page,其中前两个 Page 是不符合时间过滤要求的
对于 (a) 而言,需要读6个 PageHeader,以及4个 PageData,seek 2次
对于 (b) 而言,需要读2个 PageHeader,以及4个 PageData,seek 1次
(2) time < t:
分析:假设 Chunk 中共有 n 个 Page,满足时间过滤要求的 Page 有 m 个
(a) 顺序读前几个符合时间过滤条件的 Page
需要读 m 个 PageHeader,m 个 PageData,seek 0次
(b) 顺序读前几个 PageHeader,然后开始顺序读一部分的 PageData
需要读 m 个 PageHeader,m 个 PageData,seek 1次
举例:
假设 Chunk 中有6个 Page,其中前两个 Page 是符合时间过滤要求的
对于 (a) 而言,需要读2个 PageHeader,以及2个 PageData,seek 0次
对于 (b) 而言,需要读2个 PageHeader,以及2个 PageData,seek 1次
...
For aggregation query in a Chunk:
...