Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में डेटाबेस के भीतर सभी टेबल्स के आकार की जांच कैसे करें

MySQL में, आप information_schema.tables को क्वेरी करके किसी दिए गए डेटाबेस (या सभी डेटाबेस पर) में सभी तालिकाओं के आकार की जांच कर सकते हैं टेबल। यह तालिका डेटाबेस में प्रत्येक तालिका के बारे में डेटा संग्रहीत करती है, जिसमें प्रत्येक तालिका के आकार, निर्माण तिथि, संयोजन, आदि के बारे में जानकारी शामिल है।

आप MySQL वर्कबेंच GUI का उपयोग करके डेटाबेस में प्रत्येक तालिका का आकार भी पा सकते हैं।

यह लेख प्रत्येक विधि का त्वरित अवलोकन प्रदान करता है।

कोड उदाहरण

यहां SQL क्वेरी का एक उदाहरण दिया गया है जो डेटाबेस में तालिकाओं का आकार देता है।

SELECT 
    table_name 'Table Name',
    data_length + index_length 'Size in Bytes',
    ROUND(((data_length + index_length) / 1024 / 1024), 2) 'Size in MiB'
FROM information_schema.tables
WHERE table_schema = 'sakila'
ORDER BY (data_length + index_length) DESC;

परिणाम:

+----------------------------+---------------+-------------+
| Table Name                 | Size in Bytes | Size in MiB |
+----------------------------+---------------+-------------+
| rental                     |       2785280 |        2.66 |
| payment                    |       2228224 |        2.13 |
| inventory                  |        376832 |        0.36 |
| film                       |        278528 |        0.27 |
| film_actor                 |        278528 |        0.27 |
| film_text                  |        196608 |        0.19 |
| customer                   |        131072 |        0.13 |
| address                    |        114688 |        0.11 |
| staff                      |         98304 |        0.09 |
| film_category              |         81920 |        0.08 |
| city                       |         65536 |        0.06 |
| store                      |         49152 |        0.05 |
| actor                      |         32768 |        0.03 |
| country                    |         16384 |        0.02 |
| language                   |         16384 |        0.02 |
| category                   |         16384 |        0.02 |
| staff_list                 |             0 |        0.00 |
| customer_list              |             0 |        0.00 |
| nicer_but_slower_film_list |             0 |        0.00 |
| actor_info                 |             0 |        0.00 |
| sales_by_film_category     |             0 |        0.00 |
| film_list                  |             0 |        0.00 |
| sales_by_store             |             0 |        0.00 |
+----------------------------+---------------+-------------+

यह sakila . में प्रत्येक तालिका का आकार लौटाता है डेटाबेस। sakila बदलें संबंधित डेटाबेस के नाम के साथ। बेशक, आप WHERE . को छोड़ सकते हैं खंड पूरी तरह से, और यह सभी डेटाबेस पर सभी तालिकाओं के तालिका आकार को वापस कर देगा, लेकिन यह एक लंबी सूची होगी।

इस मामले में, मैंने परिणामों को तालिका आकार के अनुसार अवरोही क्रम में क्रमबद्ध किया है। मैंने एक कॉलम भी जोड़ा है जिसका आकार MiB (Mebibytes) में बदला गया है।

आकार बदलने का एक अन्य तरीका sys.FORMAT_BYTES() . का उपयोग करना है समारोह।

sys.FORMAT_BYTES() फ़ंक्शन

आप sys.FORMAT_BYTES() . का उपयोग कर सकते हैं बाइट्स से आकार को या तो bytes . में बदलने के लिए कार्य करता है , KiB (किबिबाइट्स), MiB (मेबिबाइट्स), GiB (गीबिबाइट्स), TiB (टेबिबाइट्स), या PiB (पेबिबाइट्स), यूनिट इंडिकेटर के साथ मूल्य में जोड़ा गया। यूनिट्स इंडिकेटर अपने आप जुड़ जाता है। फ़ंक्शन यह तय करेगा कि मूल्य के आकार के आधार पर किस इकाई में कनवर्ट करना है, इसलिए आपके पास इस पर कोई नियंत्रण नहीं है कि किस इकाई का उपयोग करना है।

इस पद्धति का उपयोग करने का एक उदाहरण यहां दिया गया है:

SELECT 
    table_name 'Table Name',
    data_length + index_length 'Size in Bytes',
    sys.FORMAT_BYTES((data_length + index_length)) 'Size (Formatted)'
FROM information_schema.tables
WHERE table_schema = 'sakila'
ORDER BY (data_length + index_length) DESC;

परिणाम:

+----------------------------+---------------+------------------+
| Table Name                 | Size in Bytes | Size (Formatted) |
+----------------------------+---------------+------------------+
| rental                     |       2785280 | 2.66 MiB         |
| payment                    |       2228224 | 2.12 MiB         |
| inventory                  |        376832 | 368.00 KiB       |
| film                       |        278528 | 272.00 KiB       |
| film_actor                 |        278528 | 272.00 KiB       |
| film_text                  |        196608 | 192.00 KiB       |
| customer                   |        131072 | 128.00 KiB       |
| address                    |        114688 | 112.00 KiB       |
| staff                      |         98304 | 96.00 KiB        |
| film_category              |         81920 | 80.00 KiB        |
| city                       |         65536 | 64.00 KiB        |
| store                      |         49152 | 48.00 KiB        |
| actor                      |         32768 | 32.00 KiB        |
| category                   |         16384 | 16.00 KiB        |
| country                    |         16384 | 16.00 KiB        |
| language                   |         16384 | 16.00 KiB        |
| actor_info                 |             0 | 0 bytes          |
| customer_list              |             0 | 0 bytes          |
| film_list                  |             0 | 0 bytes          |
| nicer_but_slower_film_list |             0 | 0 bytes          |
| sales_by_film_category     |             0 | 0 bytes          |
| sales_by_store             |             0 | 0 bytes          |
| staff_list                 |             0 | 0 bytes          |
+----------------------------+---------------+------------------+

MySQL कार्यक्षेत्र

यदि आप MySQL वर्कबेंच GUI का उपयोग कर रहे हैं, तो आप तालिका आकार पर अपना रास्ता इंगित और क्लिक कर सकते हैं। यहां बताया गया है:

  1. Schemas में डेटाबेस पर नेविगेट करें फलक
  2. लागू डेटाबेस पर होवर करें
  3. डेटाबेस नाम के बगल में छोटी जानकारी आइकन पर क्लिक करें। यह डेटाबेस के बारे में जानकारी लोड करता है, जिसमें इसके अनुमानित आकार, तालिका गणना, मिलान आदि शामिल हैं।
  4. Tables पर क्लिक करें टैब। यह डेटा की लंबाई और इंडेक्स की लंबाई सहित डेटाबेस में प्रत्येक तालिका के बारे में जानकारी प्रदर्शित करता है।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑटो-इंक्रीमेंट फ़ील्ड में छेद कैसे भरें?

  2. MySQL कमांड लाइन का उपयोग करके फाइलों से आयात और निर्यात करना

  3. बड़ी sql फ़ाइल आयात करते समय MySQL सर्वर चला गया है

  4. UTF8 टेबल पर latin1 वर्णों को UTF8 में बदलें

  5. एक साधारण पूर्ण-पाठ खोज खोज रहे हैं? Word Stemming के साथ MySQL InnoDB + CakePHP आज़माएं