मारियाडीबी में, हम information_schema.tables
. को क्वेरी कर सकते हैं डेटाबेस के आकार की जाँच करने के लिए तालिका।
यह तालिका सर्वर पर प्रत्येक डेटाबेस में तालिकाओं और दृश्यों के बारे में जानकारी लौटाती है। हम परिणामों को समूहीकृत कर सकते हैं और प्रत्येक डेटाबेस के लिए कुल राशि वापस कर सकते हैं।
उदाहरण
यहां एक क्वेरी है जो सर्वर पर सभी डेटाबेस का आकार लौटाती है:
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables
GROUP BY table_schema;
परिणाम:
+--------------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +--------------------+---------------+-------------+ | information_schema | 212992 | 0.20 | | KrankyKranes | 131072 | 0.13 | | Music | 81920 | 0.08 | | MyDB | 32768 | 0.03 | | mysql | 4972544 | 4.74 | | performance_schema | 0 | 0.00 | | PetHouse | 81920 | 0.08 | | Zap | 37460 | 0.04 | +--------------------+---------------+-------------+
टीवह information_schema.tables
तालिका विभिन्न गैर-TEMPORARY
. के बारे में जानकारी दिखाती है टेबल (Information Schema
से तालिकाओं को छोड़कर) डेटाबेस) और सर्वर पर विचार।
यहाँ, मैंने उन्हें डेटाबेस (table_schema
.) के आधार पर समूहीकृत किया है ) और आकारों पर कुछ गणनाएँ चलाईं।
एकल डेटाबेस
हम इसे WHERE
. के साथ केवल एक डेटाबेस तक सीमित कर सकते हैं खंड:
SELECT
table_schema 'Database Name',
SUM(data_length + index_length) 'Size in Bytes',
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables
WHERE table_schema = 'KrankyKranes'
GROUP BY table_schema;
परिणाम:
+---------------+---------------+-------------+ | Database Name | Size in Bytes | Size in MiB | +---------------+---------------+-------------+ | krankykranes | 131072 | 0.13 | +---------------+---------------+-------------+
MySQL में, हम sys.FORMAT_BYTES()
. का उपयोग कर सकते हैं डेटा लंबाई रूपांतरण करने के लिए कार्य करता है, लेकिन इस लेखन के रूप में, मारियाडीबी ने अभी तक इस तरह के एक समारोह को लागू नहीं किया है।