1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBE or WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
11.TOP
是这个顺序么,可是为什么explain的时候,row的行数是where之后的行数
explain显示的row是join前的row么
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBE or WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
11.TOP
是这个顺序么,可是为什么explain的时候,row的行数是where之后的行数
explain显示的row是join前的row么
解决方案 »
- 如何在有重复记录的两个字段上建立联合主键?
- 我的mysql数据库无法登陆
- GROUP BY HAVING 求解释
- mysql全局变量的问题
- 如何按照SELECT *,(SELECT COUNT(*) FROM tb_a ) AS order FROM tb_b 中的order来排序? 急啊,
- mysql 6.0 官方网站上怎么找不到呢?哪位能提供连接?
- 在Postgresql表里,如果得到当前时间减去日期字段得到秒数
- powerbulder怎么和mysql连
- 讨论:哪种MySQL后台管理软件最好用?
- MyOleDB 造成count( ) 涵数错误
- insert 的时候奇怪的问题!
- mysql怎么取得当月所有日期、星期
EXPLAIN是每个步骤后,得到的行数。
(uf.user_id = 1 AND uf.friend_id = u.id);| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
| 1 | SIMPLE | uf | ref | PRIMARY,user_friend_friend_ref | PRIMARY | 4 | const | 9 | Using where |
| 1 | SIMPLE | u | eq_ref | PRIMARY | PRIMARY | 4 | uf.friend_id | 1 | |
比如说这句,执行顺序是
1.from u,uf
2.on 哦,这里uf.user_id = 1放到on里了,所以出来的rows=9
3.那explain出来 table u 的rows=1如何理解
4.explain是显示join前的rows么
然后 user_id = 1 结果是 9 行
再 查找 u 找符合条件 uf.friend_id = u.id 的记录。
也就是说explain的是join之前的
1.from
2.on
看某人的博客对from的解释,
他的解释是否正确
这样就是先join再判断on了