我正在尝试测试sqlite数据库是否为空。我已经阅读了stackoverflow帖子,很多人建议使用rawQuery和getCount()方法。其他人建议使用DatabaseUtils.longForQuery和DatabaseUtils.queryNumEntries。
我正在寻找速度,因为数据库中的行数很大。我正在寻找快速测试,以查看行数是否为零。如果不是,那是因为数据库中有1行或更多行。是否有一种方法可以在识别出1行后中止计数而不是计算所有行?如果没有,有关getCount与DatabaseUtils的想法吗?
答案 0 :(得分:3)
queryNumEntries为Google Doc,其中在API级别11中添加
long count=0;
Cursor cursor = Database.DB.rawQuery("select count(*) from table;",null);
count=cursor.getLong(0);
答案 1 :(得分:1)
sql查询SELECT COUNT(*) FROM table_name;
运行得非常快。
DatabaseUtils.queryNumEntries()
使用此方法。我会那样做。
您可以运行自己的SQLiteDatabase.rawQuery()
来执行上述查询。那应该也不错。