2011-05-05 12 views
47

SQLite डेटाबेस के अंदर एक एकल तालिका के डिस्क उपयोग को बिना किसी नए खाली डेटाबेस में कॉपी किए बिना मैं कैसे पता लगा सकता हूं?SQLite तालिका डिस्क उपयोग

उत्तर

70

आप http://www.sqlite.org/download.html से sqlite3_analyzer का उपयोग कर सकते हैं।

यह वास्तव में एक अच्छा उपकरण है। यह आपको इंडेक्स के साथ और बिना प्रत्येक तालिका द्वारा उपयोग किए जाने वाले पृष्ठों की संख्या दिखाता है (प्रत्येक पृष्ठ, डिफ़ॉल्ट रूप से, 1024 बाइट्स है)।

*** 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 कथन जो उपयोग के आंकड़े, जिसे फिर आप विश्लेषण कर सकते हैं के साथ एक डेटाबेस बनाने के लिए इस्तेमाल किया जा सकता उत्पन्न करता है:

यह करेंनॉर्थविंडडेटाबेस के लिए एक नमूना 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

संबंधित मुद्दे