তথ্য_সেমি.ভিউস সারণীটি ব্যবহার করুন
এটি সমস্ত দর্শনগুলির জন্য ব্যাখ্যাটি উত্পন্ন করবে
mysql -uroot -p -AN -e"select concat('explain ',view_definition) from information_schema.views" > /root/ExplainViews.sql
এটি মাইডিবি ডাটাবেসে সমস্ত দর্শনগুলির জন্য এক্সপ্লেইন উত্পন্ন করবে
mysql -uroot -p -AN -e"select concat('explain ',view_definition) from information_schema.views where table_schema = 'mydb'" > /root/ExplainViews.sql
একবার চেষ্টা করে দেখো !!!
আপডেট 2012-03-22 11:30 ইডিটি
@ ম্যাটফেনউইক, আপনার উত্তরটি আমার চেয়ে সম্পূর্ণ সহজ। এখানে মাইএসকিউএল 5.5.12 চালিয়ে আমার পিসিতে চেষ্টা করার একটি উদাহরণ এখানে দেওয়া হয়েছে। আমি আপনার উত্তর থেকে নির্বাচিত সংস্করণ এবং আমার উত্তর থেকে উত্পন্ন উত্সর্গাদনের উভয় বিষয়েই দৌড়েছি:
mysql> explain select * from bigjoin;
+----+-------------+-------+--------+---------------+---------+---------+---------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+---------------+---------+---------+---------------+------+-------------+
| 1 | SIMPLE | k | index | NULL | PRIMARY | 4 | NULL | 14 | Using index |
| 1 | SIMPLE | a | eq_ref | PRIMARY | PRIMARY | 4 | test.k.id_key | 1 | Using index |
| 1 | SIMPLE | b | ALL | NULL | NULL | NULL | NULL | 4 | |
+----+-------------+-------+--------+---------------+---------+---------+---------------+------+-------------+
3 rows in set (0.00 sec)
mysql> explain select `a`.`id_key` AS `id_key1`,`b`.`id_key` AS `id_key2` from ((`test`.`idlist` `k` left join `test`.`id_key_table` `a` on((`k`.`id_key` = `a`.`id_key`))) left join `test`.`new_keys_to_load` `b` on((`k`.`id_key` = `b`.`id_key`)));
+----+-------------+-------+--------+---------------+---------+---------+---------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+---------------+---------+---------+---------------+------+-------------+
| 1 | SIMPLE | k | index | NULL | PRIMARY | 4 | NULL | 14 | Using index |
| 1 | SIMPLE | a | eq_ref | PRIMARY | PRIMARY | 4 | test.k.id_key | 1 | Using index |
| 1 | SIMPLE | b | ALL | NULL | NULL | NULL | NULL | 4 | |
+----+-------------+-------+--------+---------------+---------+---------+---------------+------+-------------+
3 rows in set (0.00 sec)
mysql>
তারা দু'জনেই একই ব্যাখ্যা পরিকল্পনা করেছিলেন। আমি আপনার উপায় বাস্তবায়নের জন্য আমার উত্তর পরিবর্তন করব। আপনি আমার কাছ থেকে একটি +1 পান যদিও এটি সরলতার জন্য +2। আপনার এগিয়ে যাওয়া উচিত এবং এটির নিজের উত্তরটি গ্রহণ করুন।
এখানে মাইএসকিউএল-এ ভিউ সম্পর্কিত একটি আকর্ষণীয় বিষয় রয়েছে: তথ্য_স্কেমি ডাটাবেসে দুটি স্থানে একটি ভিউ উপস্থাপিত হয়
এটি সমস্ত দর্শনগুলির জন্য ব্যাখ্যাটি উত্পন্ন করবে
mysql -uroot -p -AN -e"select concat('explain select * from ',table_schema,'.',table_name,';') from information_schema.tables WHERE engine IS NULL" > /root/ExplainViews.sql
অথবা
mysql -uroot -p -AN -e"select concat('explain select * from ',table_schema,'.',table_name,';') from information_schema.views" > /root/ExplainViews.sql
এটি মাইডিবি ডাটাবেসে সমস্ত দর্শনগুলির জন্য এক্সপ্লেইন উত্পন্ন করবে
mysql -uroot -p -AN -e"select concat('explain select * from ',table_schema,'.',table_name,';') from information_schema.tables WHERE table_schema='mydb' AND engine IS NULL;" > /root/ExplainViews.sql
অথবা
mysql -uroot -p -AN -e"select concat('explain select * from ',table_schema,'.',table_name,';') from information_schema.views WHERE table_schema='mydb';" > /root/ExplainViews.sql