উত্তর
EXPLAIN কোয়েরি এক্সিকিউট করে না। এটি কোয়েরি এক্সিকিউশন প্ল্যান (Query Execution Plan) দেখায় — অর্থাৎ MySQL কীভাবে কোয়েরি রান করবে তা প্রিডিক্ট করে বলে।
উদাহরণ
mysql> create table DemoTable1375 (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName varchar(20),
-> INDEX FIRST_INDEX(FirstName)
-> );
mysql> insert into DemoTable1375(FirstName) values('Chris'),('Bob'),('Sam'),('David');
EXPLAIN আউটপুট
mysql> explain select * from DemoTable1375;
+----+-------------+---------------+------------+-------+---------------+-------------+---------+------+------+----------+-------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+---------------+------------+-------+---------------+-------------+---------+------+------+----------+-------------+ | 1 | SIMPLE | DemoTable1375 | NULL | index | NULL | FIRST_INDEX | 63 | NULL | 4 | 100.00 | Using index | +----+-------------+---------------+------------+-------+---------------+-------------+---------+------+------+----------+-------------+
গুরুত্বপূর্ণ কলামসমূহ
- type — অ্যাক্সেস টাইপ (ALL, index, range, ref, eq_ref, const, system, NULL) — 'ALL' মানে ফুল টেবিল স্ক্যান
- key — ব্যবহার করা ইনডেক্স
- rows — আনুমানিক পরীক্ষিত সারি সংখ্যা
- Extra — 'Using index', 'Using where', 'Using temporary', 'Using filesort' ইত্যাদি
EXPLAIN কোয়েরি অপ্টিমাইজেশনের জন্য অপরিহার্য টুল।