Using EXPLAIN keyword in MySQL

MySQLMySQLi Database

MySQL EXPLAIN gives a query execution plan. EXPLAIN can be used in the beginning with SELECT, INSERT, DELETE, REPLACE, and UPDATE.

To avoid the complete table scan in database, you need to use index. Let us first create a table −

mysql> create table DemoTable1488
   -> (
   -> StudentId int,
   -> StudentName varchar(20),
   -> StudentAge int
   -> );
Query OK, 0 rows affected (2.18 sec)

Here is the query to create index −

mysql> create index student_id_index on DemoTable1488(StudentId);
Query OK, 0 rows affected (0.90 sec)
Records: 0  Duplicates: 0  Warnings: 0

insert into DemoTable1488 valueInsert some records in the table using insert command −

mysql> insert into DemoTable1488 values(101,'Sam',21);
Query OK, 1 row affected (0.32 sec)
mysql> insert into DemoTable1488 values(102,'Bob',23);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1488 values(103,'David',20);
Query OK, 1 row affected (0.21 sec)

Display all records from the table using select statement −

mysql> select * from DemoTable1488;

This will produce the following output −

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|       101 | Sam         |         21 |
|       102 | Bob         |         23 |
|       103 | David       |         20 |
+-----------+-------------+------------+
3 rows in set (0.00 sec)

Now, use EXPLAIN −

mysql> explain select * from DemoTable1488 where StudentId=1;

This will produce the following output −

+----+-------------+---------------+------------+------+------------------+------------------+---------+-------+------+----------+-------+
| id | select_type | table         | partitions | type | possible_keys    | key              | key_len  | ref | rows  | filtered | Extra |
+----+-------------+---------------+------------+------+------------------+------------------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | DemoTable1488 | NULL       | ref  | student_id_index | student_id_index | 5       | const |    1 | 100.00   | NULL |
+----+-------------+---------------+------------+------+------------------+------------------+---------+-------+------+----------+-------+
1 row in set, 1 warning (0.00 sec)
raja
Published on 11-Dec-2019 09:40:19
Advertisements