上下文
具有简单表的多GB数据库,该表具有完全排序索引(CSI)的列。
要遍历索引而不加载批处理中的所有行,例如where
,我们可以:
for row in itersorted('indexed_column', step=1):
print row
这很好用,下一步可以从某个索引位置迭代,如:
for row in itersorted('indexed_column', start=position, step=1):
print row
现在警告:该位置是索引中的位置而不是行号!使用Row.nrow
,where
等查找行号(get_where_list
)非常容易。
问题
是否可以对itersorted(start=position)的索引列的某个值的索引位置进行快速反向查找?
尝试
table.cols.indexed_column.index
找到了索引类,但却死路一条。where
查询的索引进行多次查询。但由于我正在模拟一个流并且itersorted(start=position)存在,我希望有更优雅的方式。