我有這個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命令,但它不是我正在尋找的,我需要了解工作選擇查詢的原理。它是如何工作的,或者是編譯的。 –