私は、MySQLのクエリではかなりシンプルな1対多型結合を持っています。この場合、私は左のテーブルで結果を制限したいと思います。例えばLIMITの最も効率的な方法はJOINですか?
は、のは、私がaccounts
テーブルとcomments
テーブルを持っている、と私はそれぞれのaccounts
および関連するすべてのcomments
行から100行を引くしたいとしましょう。
これを行うには、単にFROM accounts
を選択するのではなく、FROM句でサブを選択するしかありません。ここに私の現在の考えです:私は、サブ選択ある種の操作を行う必要がある時はいつでも、しかし
SELECT a.*, c.* FROM
(SELECT * FROM accounts LIMIT 100) a
LEFT JOIN `comments` c on c.account_id = a.id
ORDER BY a.id
それが何か間違ったことをやっているように、私の中間レベルのSQLの知識が感じています。
これを行うには、より効率的な、またはより速い方法がありますか、これはかなり良いですか?ところで
...
これは私が答えとしてで大丈夫れ、これを行うための絶対的な最も簡単な方法かもしれません。私は、スピードの面で上記の声明と潜在的に競合する可能性のある別の方法があるかどうかを判断しようとしています。
正常に動作しますか? :) –
それは確かに動作します...しかし、もし私がすることができれば/私がすることができるかわからないので、私は "よく"わからない。私は自分の選択肢を見つけようとしているだけで、テストを実行できます。 – johnnietheblack
さて、私には大丈夫です。私は現時点で別のクエリを持っていません:) –