簡単な質問です。これに対するさまざまな答えを見つけたので、よくわかりません。説明させてください:
次のようなクエリがある場合:
SELECT logins.timestamp, users.name
FROM logins
LEFT JOIN users
ON users.id = logins.user_id
LIMIT 10
これは基本的に、テーブルの最後の10エントリをリストし、をoverJOINlogins
に置き換えます。user_id
username
さて、私の質問は、JOINが発生している間(最初の10エントリのみに参加するように)またはJOINの後にLIMITが有効になるかどうかです。(テーブル全体を結合し、最初の10エントリを切り取る場所)。
サンプルテーブルlogins
には多くのエントリが含まれるため、これを求めています。JOINのパフォーマンスが高すぎるかどうかはわかりません。LIMITで10個のJOINのみが発生する場合、それは問題にはなりません。
これを思いついた2番目の質問:DISTINCTが追加された場合、機能は同じですか?それでも10エントリで停止しますか?いいえ、これはORDERBYによって注文されることはありません。