Mysql调优之Explain

extendexplain extended+show warnings

例子:
mysql> explain extended select * from user_score us  inner join user_info ui on us.uid = ui.uid where us.id = 5;

+----+-------------+-------+-------+-------------------+---------+---------+-------+---------+----------+-------------+

| id | select_type | table | type  | possible_keys     | key     | key_len | ref   | rows    | filtered | Extra       |

+----+-------------+-------+-------+-------------------+---------+---------+-------+---------+----------+-------------+

|  1 | SIMPLE      | us    | const | PRIMARY,index_uid | PRIMARY | 4       | const |       1 |   100.00 | NULL        |

|  1 | SIMPLE      | ui    | ALL   | NULL              | NULL    | NULL    | NULL  | 2989934 |   100.00 | Using where |

+----+-------------+-------+-------+-------------------+---------+---------+-------+---------+----------+-------------+

2 rows in set, 1 warning (0.00 sec)

mysql> show warnings;

+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Level | Code | Message                                                                                                                                                                                                                                                                              |

+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Note  | 1003 | /* select#1 */ select '5' AS `id`,'111111111' AS `uid`,'100' AS `score`,`test`.`ui`.`id` AS `id`,`test`.`ui`.`uid` AS `uid`,`test`.`ui`.`name` AS `name` from `test`.`user_score` `us` join `test`.`user_info` `ui` where (('111111111' = convert(`test`.`ui`.`uid` using utf8mb4))) |

+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)


通过  show warnings  更好的发现sql问题 上面就是平时不太容易发现的 字符集转换导致索引失效问题 

你可能感兴趣的:(Mysql调优之Explain)