使用cursor.getCount()获取计数或在SQL子句上使用COUNT执行rawQuery?

时间:2011-12-21 16:04:45

标签: android performance sqlite cursor memory-efficient

在内存效率方面会更好,或者在Android和SQLite上获得最佳整体性能,使用cursor.getCount()获取记录计数,或者在普通SQL子句上执行带有COUNT的rawQuery(并使用) cursor.getInt(0)稍后得到返回的计数)?

注意:我没有使用结果,我只想要计算。

1 个答案:

答案 0 :(得分:5)

如果您之后使用查询结果,那么当然最好的方法是cursor.getCount()这比做2次查询更快,得到计数,结果为1次

编辑:

如果您没有使用结果,那么rawQuery会更快,因为您只从数据库中获取一列而不是许多列。另外,为什么要浪费资源来执行查询而不使用其结果?