SQLite 和范围查询

Posted

技术标签:

【中文标题】SQLite 和范围查询【英文标题】:SQLite and range query 【发布时间】:2015-09-01 12:24:51 【问题描述】:

如何在 SQLite 中高效地执行简单的范围查询?

比方说,我有数据保存一个人的信息,我想找到年龄在 20~45 岁之间,体重在 50~80kg 之间的人?

我应该怎么做(比如设置某些索引?)以提高搜索效率?

【问题讨论】:

到目前为止你尝试了什么? 【参考方案1】:

SQLite 的 documentation for the R-tree module 说:

R-Tree 是一种特殊索引,专为进行范围查询而设计。

【讨论】:

【参考方案2】:

我会尝试类似的东西

SELECT PersonName FROM Persons WHERE (Age BETWEEN 20 AND 45) AND (Weight BETWEEN 50 AND 80)

为 Age 和 Weight 字段编制索引有助于加快查询速度。

这里有一个关于 SQLite 索引的很好的概述:http://www.tutorialspoint.com/sqlite/sqlite_indexes.htm

【讨论】:

以上是关于SQLite 和范围查询的主要内容,如果未能解决你的问题,请参考以下文章

Sqlite,使用分组?对于具有日期范围的子查询

分组时间范围的sqlite查询

如何在 Sqlite 中使用时间序列,以及快速的时间范围查询?

如何在 SQLite 表中插入日期和查询日期

基于纬度/经度查询附近兴趣点的 SQL 查询 - SQLite

在 SQLite 中获取日期范围之间的数据