2012-08-07 13 views
10

क्या कोई क्वेरी या फ़ंक्शन है जिसका उपयोग मैं MySQL में डेटाबेस के आकार को निर्धारित करने के लिए कर सकता हूं? यदि MySQL में डेटाबेस के आकार को खोजने का सामान्य तरीका नहीं है?MySQL क्वेरी डेटाबेस आकार

मैं googling और SELECT CONCAT(sum(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE)/1024/1024),2))," MB") AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA like '%YOUR_DB_NAME%' ;

पाया और यह एक डेटाबेस मुझे पता है कि 474989023196466.25 MB होने के लिए 400MB है देता था!

+0

मेरी टेबल के सभी में, data_free डेटा_लेथेंथ से बहुत बड़ा है, जिसका अर्थ है कि आपकी क्वेरी ऋणात्मक संख्या लौटाएगी। शायद यह इसे एक हस्ताक्षरित सकारात्मक पूर्णांक के रूप में व्याख्या कर रहा है, इसलिए गैरकानूनी परिणाम। जब मैं उस क्वेरी में पेस्ट करने का प्रयास करता हूं, तो मुझे त्रुटि मिलती है "बिगिनट अनगिनत मान सीमा से बाहर है"। – octern

+0

इस पृष्ठ में प्रदान किए गए एक विशिष्ट डेटाबेस/तालिका उत्तर के आकार के लिए आपको http://www.rathishkumar.in/2017/12/how-to-find-database-and-table-size-in-mysql.html – rathishDBA

उत्तर

23

इस क्वेरी के साथ प्रयास करें:

SELECT table_schema AS "Data Base Name", 
sum(data_length + index_length)/1024/1024 AS "Data Base Size in MB" 
FROM information_schema.TABLES GROUP BY table_schema ; 

या इस के साथ, आप दौर करना चाहते हैं:

SELECT table_schema AS "Data Base Name", 
ROUND(SUM(data_length + index_length)/1024/1024, 2) AS "Data Base Size in MB" 
FROM information_schema.TABLES GROUP BY table_schema ; 
3

प्रयास करें:

SELECT table_schema, sum(data_length + index_length) FROM information_schema.TABLES GROUP BY table_schema; 
0
SELECT table_schema "DB Name", 
     Round(Sum(data_length + index_length)/1024/1024, 1) "DB Size in MB" 
FROM information_schema.tables 
GROUP BY table_schema; 
संबंधित मुद्दे