আমি আমার সূচির আকার নির্ধারণ করতে চাই, সেগুলি হ'ল প্রাথমিক কী সূচক। এটি মাইএসকিএল ক্লাস্টারে থাকতে পারে তবে আমি তা তাত্পর্যপূর্ণ বলে মনে করি না।
আমি আমার সূচির আকার নির্ধারণ করতে চাই, সেগুলি হ'ল প্রাথমিক কী সূচক। এটি মাইএসকিএল ক্লাস্টারে থাকতে পারে তবে আমি তা তাত্পর্যপূর্ণ বলে মনে করি না।
উত্তর:
আমি মনে করি এটিই আপনি খুঁজছেন।
show table status from [dbname]
http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
বাজ্ক হার্মেক্সের উত্তর বাড়ানো হচ্ছে।
আপনি মাইক্রোসফ্টের ভিত্তিতে প্রাইমারী (যা টেবিল নিজেই থাকে) ছাড়াই মেগাবাইটে সমস্ত সূচক আকার পেতে পারেন।
SELECT database_name, table_name, index_name,
ROUND(stat_value * @@innodb_page_size / 1024 / 1024, 2) size_in_mb
FROM mysql.innodb_index_stats
WHERE stat_name = 'size' AND index_name != 'PRIMARY'
ORDER BY size_in_mb DESC;
ORDER BY size_in_mb DESC;?
আপনি যদি InnoDB টেবিল ব্যবহার করছেন তবে আপনি পৃথক সূচী থেকে আকারটি পেতে পারেন mysql.innodb_index_stats। 'আকার' স্ট্যাটে পৃষ্ঠাগুলিতে উত্তর রয়েছে, সুতরাং আপনাকে এটি পৃষ্ঠা-আকার দ্বারা গুণ করতে হবে, যা ডিফল্টরূপে 16 কে ।
select database_name, table_name, index_name, stat_value*@@innodb_page_size
from mysql.innodb_index_stats where stat_name='size';
stat_valueসাহায্যে পৃষ্ঠাটি আকার দ্বারা ইতিমধ্যে গুণ করা হয়েছে, সুতরাং কলামটি বাইটগুলিতে সূচক আকার দেয়।
show table status from [dbname]
উপরের কয়েকটি থেকে একটি অভিযোজন এখানে প্রতিটি সূচক যে টেবিলটির জন্য ব্যবহার করেছে তা মোট সূচকের শতাংশ দিতে, আশা করি এটি কারও পক্ষে কার্যকর হবে
select
database_name,
table_name,
index_name,
round((stat_value*@@innodb_page_size)/1024/1024, 2) SizeMB,
round(((100/(SELECT INDEX_LENGTH FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_NAME = iis.table_name and t.TABLE_SCHEMA = iis.database_name))*(stat_value*@@innodb_page_size)), 2) `Percentage`
from mysql.innodb_index_stats iis
where stat_name='size'
and table_name = 'TargetTable'
and database_name = 'targetDB'
উদাহরণ আউটপুট
database_name table_name index_name SizeMB Percentage
targetDB TargetTable id 10 55.55
targetDB TargetTable idLookup 5 27.77
targetDB TargetTable idTest 3 16.66
শুভেচ্ছা লিয়াম
PhpMyAdmin ব্যবহার করে, টেবিলের কাঠামোটি দেখার সময় নীচে কোথাও একটি বিশদ লিঙ্ক রয়েছে। একবার আপনি এটিতে ক্লিক করলে এটি আপনাকে টেবিলে থাকা সূচিগুলির মোট আকার প্রদর্শন করবে যেখানে এটি স্থান ব্যবহারের চিহ্ন হিসাবে চিহ্নিত রয়েছে।
আমি মনে করি না যদিও এটি প্রতিটি সূচি পৃথকভাবে আপনাকে দেখায়।
এই নিবন্ধে সূচকের আকার গণনা করতে হবে তা নির্ধারণ করুন। http://aadant.com/blog/2014/02/04/how-to-calculate-a-specific-innodb-index-size/
SELECT SUM(stat_value) pages, index_name,
SUM(stat_value)*@@innodb_page_size size
FROM mysql.innodb_index_stats WHERE table_name='t1'
AND stat_name = 'size' GROUP BY index_name;