SQLite 表磁盘使用情况

标签 sqlite

如何在不将其复制到新的空数据库中的情况下找出 SQLite 数据库中单个表的磁盘使用情况?

最佳答案

您可以使用 sqlite3_analyzer来自 https://www.sqlite.org/download.html .

这是一个非常酷的工具。它向您显示每个表使用和不使用索引的页数(默认情况下,每个页为 1024 字节)。

这是 Northwind 数据库的示例 sqlite3_analyzer 输出:

*** Page counts for all tables with their indices ********************

EMPLOYEES............................. 200         34.4% 
ORDERS................................ 152         26.2% 
CATEGORIES............................ 90          15.5% 
ORDER DETAILS......................... 81          13.9% 
CUSTOMERS............................. 17           2.9% 
SQLITE_MASTER......................... 11           1.9% 
PRODUCTS.............................. 7            1.2% 
SUPPLIERS............................. 7            1.2% 
TERRITORIES........................... 6            1.0% 
CUSTOMERCUSTOMERDEMO.................. 2            0.34% 
CUSTOMERDEMOGRAPHICS.................. 2            0.34% 
EMPLOYEETERRITORIES................... 2            0.34% 
REGION................................ 2            0.34% 
SHIPPERS.............................. 2            0.34% 

它还会生成 SQL 语句,这些语句可用于创建具有使用情况统计信息的数据库,然后您可以对其进行分析。

关于SQLite 表磁盘使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900050/

相关文章:

ruby-on-rails - 所有 Rails url 都返回错误 500

android - 如何在 SQLite (Android) 中存储可绘制/位图

java - Activity 应该直接访问 sqlite 数据库还是应该有一个中介类?

mysql - 如果删除了父外键,则将子表中的外键列设置为空

ios - CoreData 搜索速度太慢

ios - sqlite selectObject 方法,%%%@%% 东西

mysql - 每个数据库提供程序类型允许的最大参数数是多少?

c# - Windows Phone 8.1 silverlight 中带有 Entity Framework 的 SQLite

Sqlite NULL 且唯一?

MySQL 结构到 SQLite