
- Learn MySQL
- MySQL - Home
- MySQL - Introduction
- MySQL - Installation
- MySQL - Administration
- MySQL - PHP Syntax
- MySQL - Connection
- MySQL - Create Database
- MySQL - Drop Database
- MySQL - Select Database
- MySQL - Data Types
- MySQL - Create Tables
- MySQL - Drop Tables
- MySQL - Insert Query
- MySQL - Select Query
- MySQL - Where Clause
- MySQL - Update Query
- MySQL - Delete Query
- MySQL - Like Clause
- MySQL - Sorting Results
- MySQL - Using Join
- MySQL - NULL Values
- MySQL - Regexps
- MySQL - Transactions
- MySQL - Alter Command
- MySQL - Indexes
- MySQL - Temporary Tables
- MySQL - Clone Tables
- MySQL - Database Info
- MySQL - Using Sequences
- MySQL - Handling Duplicates
- MySQL - SQL Injection
- MySQL - Database Export
- MySQL - Database Import
MySQL ORDER BY with EXPLAIN command
Let us first create a table −
mysql> create table DemoTable606 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,FirstName varchar(100)); Query OK, 0 rows affected (0.56 sec)
Insert some records in the table using insert command −
mysql> insert into DemoTable606(FirstName) values('John'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable606(FirstName) values('Robert'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable606(FirstName) values('Chris'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable606(FirstName) values('David'); Query OK, 1 row affected (0.13 sec)
Display all records from the table using select statement −
mysql> select *from DemoTable606;
This will produce the following output −
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | John | | 2 | Robert | | 3 | Chris | | 4 | David | +----+-----------+ 4 rows in set (0.00 sec)
Following is the query to work with EXPLAIN command::
mysql> explain select * from DemoTable606 order by Id; +----+-------------+--------------+------------+-------+---------------+---------+---------+------+------+----------+-------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+--------------+------------+-------+---------------+---------+---------+------+------+----------+-------+ | 1 | SIMPLE | DemoTable606 | NULL | index | NULL | PRIMARY | 4 | NULL | 4 | 100.00 | NULL | +----+-------------+--------------+------------+-------+---------------+---------+---------+------+------+----------+-------+ 1 row in set, 1 warning (0.00 sec) mysql> explain select * from DemoTable606 order by Id,FirstName; +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+----------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+----------------+ | 1 | SIMPLE | DemoTable606 | NULL | ALL | NULL | NULL | NULL | NULL | 4 | 100.00 | Using filesort | +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+----------------+ 1 row in set, 1 warning (0.00 sec) mysql> explain select * from DemoTable606 order by Id,RAND(); +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+---------------------------------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+---------------------------------+ | 1 | SIMPLE | DemoTable606 | NULL | ALL | NULL | NULL | NULL | NULL | 4 | 100.00 | Using temporary; Using filesort | +----+-------------+--------------+------------+------+---------------+------+---------+------+------+----------+---------------------------------+ 1 row in set, 1 warning (0.00 sec)
- Related Articles
- MySQL Order by with case?
- MySQL command to order timestamp values in ascending order?
- MySQL ORDER BY strings with underscore?
- MySQL ORDER BY with CASE WHEN
- MySQL order by string with numbers?
- MySQL ORDER BY with custom field value
- How to sort by value with MySQL ORDER BY?
- MySQL command to order timestamp values in ascending order without using TIMESTAMP()?
- Multiple LIKE Operators with ORDER BY in MySQL?
- MySQL ORDER BY with numeric user-defined variable?
- Order by date set with varchar type in MySQL
- Can we use IFNULL along with MySQL ORDER BY?
- Set a certain value first with MySQL ORDER BY?
- MySQL IF/WHEN/ELSE/OR with ORDER BY FIELD
- Alphanumeric Order by in MySQL for strings mixed with numbers

Advertisements