在内存效率方面会更好,或者在Android和SQLite上获得最佳整体性能,使用cursor.getCount()获取记录计数,或者在普通SQL子句上执行带有COUNT的rawQuery(并使用) cursor.getInt(0)稍后得到返回的计数)?
注意:我没有使用结果,我只想要计算。
答案 0 :(得分:5)
如果您之后使用查询结果,那么当然最好的方法是cursor.getCount()
这比做2次查询更快,得到计数,结果为1次
编辑:
如果您没有使用结果,那么rawQuery会更快,因为您只从数据库中获取一列而不是许多列。另外,为什么要浪费资源来执行查询而不使用其结果?