如何在不将其复制到新的空数据库中的情况下找出 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/