sql优化分析关键字 explain EXTENDED [sql]; show WARNINGS
语法:
explain EXTENDED [sql]; show WARNINGS
作用可以分析sql执行过程,字段字符集转换,以及执行顺序。
例如:
例子不是很好,后面补上。
执行sql
explain extended
SELECT
`user`.account,
`user`.username,
permission.`name`,
permission.per_code
FROM
`user`
LEFT JOIN user_role ON `user`.id = user_role.user_id
LEFT JOIN role_permission ON role_permission.role_id = user_role.role_id
LEFT JOIN permission ON permission.id = role_permission.permission_id
WHERE
`user`.id = 1;
show warnings;
结果:
/* select#1 */ SELECT
'admin' AS `account`,
'admin' AS `username`,
`shirojwt`.`permission`.`name` AS `name`,
`shirojwt`.`permission`.`per_code` AS `per_code`
FROM
`shirojwt`.`user`
LEFT JOIN `shirojwt`.`user_role` ON ((
`shirojwt`.`user_role`.`user_id` = 1
))
LEFT JOIN `shirojwt`.`role_permission` ON ((
`shirojwt`.`role_permission`.`role_id` = `shirojwt`.`user_role`.`role_id`
))
LEFT JOIN `shirojwt`.`permission` ON ((
`shirojwt`.`permission`.`id` = `shirojwt`.`role_permission`.`permission_id`
))
WHERE
1
可以看到sql解析成上例结果,然后执行。