私はこのSQLクエリを持っています。私は今何を返すのですが、サーバーがどのように解析し、それを段階的に実行するのか理解できません。 深いレベルでの作業の原則、SQLコマンドを実行するときにサーバー上で行われていること、戻り結果の前に各行を反復する方法を理解したい。このSQLコマンドを実行すると、SQL Server上で何が起こっています
私は最後のもので、users
とfriends
テーブルを持っているそれらの両方は、ユーザーのIDで、friend_id
とuser_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
演算子または クエリの両方のステートメントをチェックしますか。最初の繰り返しで友だちIDと のuser_idで結合します。あなたは、インデックスを使用している場合:FROM -
まずステップ:私は、私はそれが役に立てば幸いエンジンは、潜在的にあなたのクエリを実行できるかの推測をすることができますクエリプランなし
誤ったタグを削除する価値はあります。このMySQLまたはSQL Serverですか? –
MySQLにはSQL Serverと同様の実行計画がありますか? –
私はEXPLAINコマンドを使用しましたが、それは私が探しているものではありません。select query.Howの動作原理を理解する必要があります。 –