求mysql select语句的执行顺序
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么
------解决方案--------------------暂时你可以这么理解,但是每一个步骤还是需要更详细的说明。 不太明白你的步骤描述,所以无法说对或者错。
EXPLAIN是每个步骤后,得到的行数。
------解决方案--------------------比如说这句,执行顺序是
from uf
然后 user_id = 1 结果是 9 行
再 查找 u 找符合条件 uf.friend_id = u.id 的记录。
------解决方案--------------------