优化SQLite范围查询

时间:2018-05-07 06:37:20

标签: sqlite

我在python应用程序中使用SQLite数据库。我必须对表单进行很多查询

SELECT * from positions where (x between ? and ? ) and (y between ? and ?)

我已经创建了一个具有以下结构的索引:

CREATE INDEX IF NOT EXISTS positions_idx ON positions (x, y)

有没有办法提高查询速度?特别是单个组合指数是否优于两个单独的指数?

修改

类似的问题已经asked on this page。在那里呈现的解决方案使用R *树。我不太明白如何在SQL中构造这样的R *树。这条线

CREATE VIRTUAL TABLE r_tree_pos USING rtree(xMin, xMax, yMin, yMax);

只会创建一个我必须填充的空表。我是否必须从原始positions表中手动创建R *树并将结果插入r_tree_pos表中?一个简单的例子 - 可能在python - 会很棒。

0 个答案:

没有答案