我将为我的项目使用sqlite。也许分贝有一个表和约40k行。我对此有一些疑问。


当我使用SQLiteDatabase.openDatabase()时,所有行都进入内存了吗?还是行地址?(害怕大内存问题,因为40k行)
当使用查询方法时,此搜索在内存中吗?还是在db文件上?
SQLiteDatabase.openDatabase()参考我将此与static一起使用是否有问题?
最后约4万行这是内存性能等问题吗?

最佳答案

当我使用SQLiteDatabase.openDatabase()时,所有行都进入内存了吗?


不,这就是数据库的重点。


  当使用查询方法时,此搜索在内存中吗?还是在db文件上?


查询只会暂时加载所需的数据以应用给定的过滤器。甚至没有将结果完全加载到内存中(除非您使用返回的Cursor这样做)。


  SQLiteDatabase.openDatabase()参考我将此与static一起使用是否有问题?


可能不是,但是您应该避免在整个过程中都保持数据库处于打开状态。


  最后约4万行这是内存性能等问题吗?


对于数据库来说,这不是一个很大的数目。这肯定是没有问题的。

10-07 13:14