我有这个sql查询。我现在什么是返回,但无法理解服务器如何一步一步地解析和执行它。 我想深入了解工作原理,运行sql命令时服务器上发生了什么,返回结果之前如何在每一行中进行迭代。当你运行这个sql命令时,sql server上发生了什么
我有users
和friends
表中,最后一个有friend_id
和user_id
组合,他们两人都是用户的ID。
select u.id,f.user_id, f.friend_id from friends f
INNER JOIN users u on (u.id = f.friend_id or u.id = f.user_id)
where f.user_id = 72 or f.friend_id = 72
- 如何解释我是什么在此查询的每一步怎么回事?
- 它在每一步中的表现如何?
OR
如何在这里的每一步操作符?- 它是否检查每个步骤中
OR
运算符的两个语句或 查询,或者例如在第一次迭代中加入friend_id,然后与 user_id加入。
这将是值得删除不正确的标签。这是MySQL还是SQL Server? –
MySQL是否有类似于SQL Server的执行计划? –
我已经使用了EXPLAIN命令,但它不是我正在寻找的,我需要了解工作选择查询的原理。它是如何工作的,或者是编译的。 –