如何在大型数据库中加快LIMIT&OFFSET查询

时间:2019-07-30 00:03:58

标签: database sqlite

我有一个表,最多可以包含数十亿行

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亿行,那么有什么办法可以大大提高查询性能?

0 个答案:

没有答案