テーブル A には 500,000 件のレコードがあります。
id, text, created, b_id
テーブル B には 20,000 件のレコードがあります。
id, text
A.b_id is FK to b.id
したがって、次のことを行うと:
SELECT text, created, (SELECT b.text FROM b WHERE b.id = A.b_id) FROM a WHERE created < now()
またはまた
SELECT text, created, (SELECT b.text FROM b WHERE b.id = A.b_id) FROM a LIMIT 0,10
サブセレクトはWHERE句の後に実行されるので、実際にはレコードに対してのみ実行されwhere created < now()
ます。最初の 10 レコードのみで実行されますか?それとも、除外が発生する前にすべてのレコードで実行されますか?
ありがとう!