我有一个以下列格式返回约100万行的查询:
data = [[i['field1'], i['field2']] for i in tbl.where(conditions)]
并且花了超过5分钟。
当我单独尝试tbl.where(conditions)
时,查询花了不到一秒的时间,因此大部分时间似乎都花在迭代列表推导中的行上。
是否有更快的方法从查询中检索field1 / field2? (我有足够的RAM将结果存储在内存中)
答案 0 :(得分:0)
我对你的“tbl”一无所知,但这里有一些我要看的东西:
print tbl.filters.complevel
print tbl.indexedcolpathnames
idx = tbl.get_where_list(conditions)
,tbl[:]['field1'][idx]
h5file = tables.open_file('myfile.h5', driver="H5FD_CORE")
tbl = h5file.root.tbl
并查看是否有帮助。