কিভাবে MySQL ডাটাবেসের প্রকৃত আকার পেতে?




database size (7)

ওয়েব হোস্ট নির্বাচন করার জন্য, আমার মাইএসকিউএল ডাটাবেসটি কতটা স্থান ব্যবহার করে তা জানতে চাই। আমি কমান্ডটি দেখলে কমান্ডটি দেখি SHOW TABLE STATUS LIKE 'table_name' পাওয়া যায়, আমি এই রকম কিছু পেতে পারি:

Name       | Rows | Avg. Row Length | Data_Length | Index Length
----------   ----   ---------------   -----------   ------------
table_name   400          55            362000        66560
  • সংখ্যা বৃত্তাকার হয়।

তাই আমার কাছে এই টেবিলের জন্য 362000 বা 400 * 362000 = 144800000 বাইট তথ্য আছে? এবং সূচক দৈর্ঘ্য মানে কি? ধন্যবাদ!


উত্তরের কোনটি ওভারহেড আকার এবং টেবিলের মেটাডেটা মাপের অন্তর্ভুক্ত নয়।

এখানে একটি ডেটাবেস দ্বারা বরাদ্দ করা "ডিস্ক স্পেস" এর আরো সঠিক অনুমান।

SELECT ROUND((SUM(data_length+index_length+data_free) + (COUNT(*) * 300 * 1024))/1048576+150, 2) AS MegaBytes FROM information_schema.TABLES WHERE table_schema = 'DATABASE-NAME'

এস। প্রকাশ থেকে, মাইএসকিউএল ফোরামে পাওয়া যায়:

SELECT table_schema "database name",
    sum( data_length + index_length ) / 1024 / 1024 "database size in MB",
    sum( data_free )/ 1024 / 1024 "free space in MB"
FROM information_schema.TABLES
GROUP BY table_schema; 

অথবা সহজ কপি-পেস্টিংয়ের জন্য একটি লাইনের মধ্যে:

SELECT table_schema "database name", sum( data_length + index_length ) / 1024 / 1024 "database size in MB", sum( data_free )/ 1024 / 1024 "free space in MB" FROM information_schema.TABLES GROUP BY table_schema; 

মাইস্ক্ল ক্লায়েন্টে নিম্নলিখিত কমান্ডটি দিয়ে আপনি আপনার মাইস্কুল ডাটাবেসের আকার পেতে পারেন

SELECT  sum(round(((data_length + index_length) / 1024 / 1024 / 1024), 2))  as "Size in GB"
FROM information_schema.TABLES
WHERE table_schema = "<database_name>"

মূলত দুটি উপায় আছে: প্রশ্ন ডিবি (তথ্য দৈর্ঘ্য + সূচক দৈর্ঘ্য) বা ফাইল আকার চেক। সূচক দৈর্ঘ্য সূচী মধ্যে সংরক্ষিত তথ্য সম্পর্কিত।

সবকিছু এখানে বর্ণনা করা হয়:

http://www.mkyong.com/mysql/how-to-calculate-the-mysql-database-size/


যদি আপনি phpMyAdmin ব্যবহার করেন তবে এটি আপনাকে এই তথ্যটি বলতে পারে।

শুধু "ডাটাবেস" এ যান (শীর্ষে মেনু) এবং "পরিসংখ্যান সক্ষম করুন" ক্লিক করুন।

আপনি এই মত কিছু দেখতে হবে:

মাপ আপ হিসাবে এটি সম্ভবত কিছু নির্ভুলতা হারাতে হবে, কিন্তু এটি আপনার উদ্দেশ্যে যথেষ্ট সঠিক হতে হবে।


যদি আপনি এটি এমবি এটি করতে চান

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; 

SUM(Data_free) বৈধ হতে পারে বা হতে পারে না । এটি innodb_file_per_table এর ইতিহাসের উপর নির্ভর করে। আরো আলোচনা here পাওয়া যায়।





storage