2011-05-05 57 views

回答

70

您可以使用http://www.sqlite.org/download.html的sqlite3_analyzer。

這是一個非常酷的工具。它顯示了每個帶有或不帶索引的表使用的頁數(默認情況下,每個頁都是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語句。

+0

非常感謝你!只是我正在尋找... – MrMage 2012-07-29 15:13:21

+1

請注意,sqlite3_analyze需要很長時間才能運行。 – alecco 2013-05-29 20:22:12

+0

哈哈!所以這就是'sqlite3_analyzer'的功能! – 2013-06-03 13:33:46

3

我知道這個答案完全違背了問題的精神,但它確實讓你的大小,而不複製文件...

$ ls -lh db.sqlite 
-rw-r--r-- 1 dude bros 44M Jan 11 18:44 db.sqlite 
$ sqlite3 db.sqlite 
sqlite> drop table my_table; 
sqlite> vacuum; 
sqlite> ^D 
$ ls -lh db.sqlite 
-rw-r--r-- 1 dude bros 23M Jan 11 18:44 db.sqlite 
+0

這是鬼鬼祟祟!我建議在代碼的上面添加註釋,以解釋代碼段的作用,它花了我一些時間。 – Moot 2018-01-24 22:49:27

相關問題