对于Android SQLite,哪种方法更有效?

时间:2016-12-29 06:21:31

标签: android sqlite

我有一个由列组成的数据库:

bookId, pageNbr, text

其中bookId和pageNbr被编入索引。

现在,在使用它作为列表视图的数据模型时,我应该使用:

初始化游标
SELECT bookId, pageNbr, text
FROM table
WHERE bookId BETWEEN 1 AND 5
AND pageNbr BETWEEN 100 AND 500

或者我应该为每一行获取每个项目,每次使用以下方法调用getView:

SELECT bookId, pageNbr, text
FROM table
WHERE bookId = VAR_BOOK_ID
AND pageNbr = VAR_PAGE_NBR

有任何性能差异吗? (对于每个查询,可能会有开销吗?)

1 个答案:

答案 0 :(得分:1)

使用更容易处理的任何查询(即第一个)。这样可以获得最高效的开发性能。

只有在衡量实际问题时才考虑优化。

对于查询:只能使用索引优化一个BETWEEN,因此您只需要索引具有更高选择性的列。 如果存在双列索引,则使用=执行两次查找效果最佳。