首页 > 解决方案 > 如何获取数据库的整体大小?- 颤振

问题描述

我在特定数据库中有几个表,因此我希望在将数据转储到特定表中时获得数据库的大小。

这就是我尝试的方式

var db = await openDatabase('dummy.db'); 
int count = Sqflite.firstIntValue(await db.rawQuery('SELECT COUNT(*) FROM dummyTable1'));

我知道这种方法是错误的,因为我只获得特定表中的行数,但是如何获得特定表的大小?

标签: fluttersqlitedart

解决方案


像这样的东西会告诉你你的数据库的大小

final databasesPath = await getDatabasesPath();
String path = join(databasesPath, 'dummy.db');

final file = File(path);

现在您可以使用

final size = file.lengthSync();
or 
final size = await file.length();

或者,如果flutter db支持它,您可以在这里查看:

https://www.sqlite.org/pragma.html#pragma_page_count


推荐阅读