2011-05-05 4 views

답변

70

http://www.sqlite.org/download.html에서 sqlite3_analyzer를 사용할 수 있습니다.

정말 멋진 도구입니다. 인덱스 사용 여부에 관계없이 각 테이블에서 사용하는 페이지 수를 보여줍니다 (기본적으로 각 페이지는 1024 바이트입니다). 그것은 또한 당신이 다음 분석 할 수 있습니다 사용 통계와 데이터베이스를 만드는 데 사용할 수있는 SQL 문을 생성

*** 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% 

:

는 Northwind 데이터베이스에 대한 샘플 sqlite3_analyzer 출력입니다.

+0

감사합니다 당신이 아주 많이! 그냥 내가 무엇을 찾고 있었는지 ... – MrMage

+1

sqlite3_analyze는 실행하는 데 오랜 시간이 걸립니다. – alecco

+0

하하! 그래서 이것은'sqlite3_analyzer'가하는 일입니다! –

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