কীভাবে মাইএসকিএল ডাটাবেস আকার পাবেন?


542

কিভাবে একটি mysql ডাটাবেস আকার পেতে?
ধরা যাক লক্ষ্য ডাটাবেসটিকে "ভি 3" বলা হয়।


নির্দিষ্ট টেবিল / নির্দিষ্ট ডাটাবেস আকারের জন্য এখানে সরবরাহিত স্ক্রিপ্টটি সহায়তা করবে, তথ্য_সেমি.টি.টেবিলের
রথিশ

উত্তর:


1183

এই কোয়েরিটি চালান এবং আপনি যা খুঁজছেন সম্ভবত তা পাবেন:

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; 

এই কোয়েরিটি মাইএসকিএল ফোরাম থেকে আসে , যেখানে আরও বিস্তৃত নির্দেশাবলী পাওয়া যায়।


4
এমনকি আমি ডাটাবেসে টেবিলগুলি থেকে বেশিরভাগ ডেটা মুছে ফেলার পরেও আকারটি একই থাকে
Vidz

2
@ ভিডিজ আপনি কি ইনোডিবি ইঞ্জিন ব্যবহার করছেন? যদি আপনি এটি করেন, আপনি ফাইল_পার_ টেবিল এবং টেবিল পরিবর্তন না করে আপনি স্থান খালি করতে পারবেন।
মান্দজা

5
দয়া করে মনে রাখবেন যে এই পদ্ধতিটি সম্পূর্ণ খালি যে কোনও ডাটাবেস ফিরিয়ে দেবে না, ফলস্বরূপ উপস্থিত হতে ডাটাবেসের জন্য কমপক্ষে একটি টেবিল উপস্থিত থাকতে হবে।
v010dya

13
একটি একক ডাটাবেস থেকে নির্বাচন করতে, এটি FROMএবং GROUPলাইনের মধ্যে যুক্ত করুন : where table_schema='DATABASE_NAME'- DATABASE_NAMEআপনার ডাটাবেসের সাথে প্রতিস্থাপন করা।
কেজে মূল্য

2
দ্রষ্টব্য: মাইএসকিউএল ওয়ার্কব্যাঞ্চ একটি Syntax error: {column title} (double quoted text) is not valid input here.ত্রুটি ঘটায় । কলামের শিরোনামগুলি টিক চিহ্নগুলিতে আবৃত করা উচিত। অর্থাৎ Database Name
করিম ইলেশমাবি

75

এটি মাইএসকিউএল কমান্ড ব্যবহার করে নির্ধারণ করা যেতে পারে

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema

ফলাফল

Database    Size (MB)
db1         11.75678253
db2         9.53125000
test        50.78547382

জিবিতে ফলাফল পান

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema

2
খুশী হলাম। আমি এই উত্তর পছন্দ।
অগ্রগতি

31

বিকল্পভাবে, আপনি যদি ব্যবহার করে থাকেন তবে আপনি phpMyAdminনিজের ডাটাবেস structureট্যাবের ফুটারে টেবিলের আকারের যোগফলটি একবার দেখে নিতে পারেন । প্রকৃত ডাটাবেস আকারটি এই আকারের চেয়ে কিছুটা বেশি হতে পারে, তবে এটি table_schemaউপরে বর্ণিত পদ্ধতির সাথে সামঞ্জস্যপূর্ণ বলে মনে হচ্ছে ।

স্ক্রিন শট:

এখানে চিত্র বর্ণনা লিখুন


26

বিকল্পভাবে আপনি সরাসরি ডেটা ডিরেক্টরিতে ঝাঁপিয়ে পড়তে পারেন এবং v3.myd, v3 এর সম্মিলিত আকারের জন্য পরীক্ষা করতে পারেন। মাই এবং ভি 3 frm ফাইল (মাইসমের জন্য) বা v3.idb এবং v3.frm (ইনোডাবের জন্য)।


7
দ্রষ্টব্য: ইএনডিড ফাইলগুলি কেবলমাত্র ইনডোডবি_ফিল_পিটার_ট্যাবল ব্যবহার করলেই উপস্থিত থাকে
স্ল্যাশট্রিক্স

2
এই উত্তরটি স্টোরেজ ইঞ্জিনের জন্য খুব নির্দিষ্ট। @ ব্রায়ান-উইলিস দ্বারা উত্তর দেওয়া আরও উপযুক্ত।
মানু মঞ্জুনাথ

15

এমবিতে ফলাফল পেতে:

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

জিবিতে ফলাফল পেতে:

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

11
mysqldiskusage  --server=root:MyPassword@localhost  pics

+----------+----------------+
| db_name  |         total  |
+----------+----------------+
| pics     | 1,179,131,029  |
+----------+----------------+

যদি ইনস্টল না করা থাকে তবে এটি mysql-utilsপ্যাকেজ ইনস্টল করে ইনস্টল করা যেতে পারে যা বেশিরভাগ প্রধান বিতরণগুলির দ্বারা প্যাকেজ করা উচিত।


4

মাইএসকিউএল ব্যবহার করে প্রথমে লগইন করুন

mysql -u username -p

এমবিতে তার টেবিলের সাথে একটি একক ডাটাবেসের আকার প্রদর্শন করার কমান্ড।

SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;

আপনার ডাটাবেসে ডাটাবেস_নাম পরিবর্তন করুন

এমবিতে সমস্ত ডাটাবেস এর আকার সহ প্রদর্শন করার কমান্ড।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.