我有一个由列组成的数据库:
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
有任何性能差异吗? (对于每个查询,可能会有开销吗?)
答案 0 :(得分:1)
使用更容易处理的任何查询(即第一个)。这样可以获得最高效的开发性能。
只有在衡量实际问题时才考虑优化。
对于查询:只能使用索引优化一个BETWEEN,因此您只需要索引具有更高选择性的列。
如果存在双列索引,则使用=
执行两次查找效果最佳。