有没有办法查询SQLite中每个表的物理数据库大小?
在 MySQL 中,有一个名为
information_schema.TABLES
的元表,它列出了物理表大小(以字节为单位)。 PostgreSQL 有一个类似的元表,称为 pg_tables
。 SQLite中有类似的东西吗?
如果您知道数据库在哪里,它只是一个文件。例如:
$ wc -c db/development.sqlite3
2338816 db/development.sqlite3
sqlite3_analyzer 工具输出大量有关数据库的信息,其中包括每个表使用的存储量。
这将为您提供 SQLite 的数据库大小,即
(Total number of pages in the database) * (Size of each page in bytes)
:
select page_count * page_size from pragma_page_count(), pragma_page_size();