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


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.