我有一个表,最多可以包含数十亿行
CREATE TABLE "Log4DataUsb" (
"Time" integer primary key not null ,
"Microseconds" integer ,
"Current" integer ,
"Voltage" integer )
通常,用户将要查询特定范围内的数据,例如Time <= 123456789 and Time >= 0
,因为这可能返回数十亿行,因此我想对行进行细分,每次仅返回一批,例如{{1 }},LIMIT 10,000
,直到到达此时间范围查询的末尾为止。
我注意到,当行数增加时,此查询可能会非常缓慢,即使我只想移至下一批,执行下面的查询也将花费几秒钟。
LIMITE 10,000 OFFSET X
SELECT * FROM TABLE WHERE Time <= 123456789 and Time >= 0 LIMIT 10,000
如果数据库应该总共有20亿行,那么有什么办法可以大大提高查询性能?