次のような(簡略化された)シナリオがあります。
ドキュメント テーブル:
id | title | text
===========================
1 | Title1 | "AAA"
2 | Title2 | "BBB"
3 | Title3 | "CCC"
ドキュメントの写真
id | doc_id | url
===================================================
1 | 1 | "http://some.domain.com/1.jpg"
2 | 1 | "http://some.domain.com/2.jpg"
3 | 2 | "http://some.domain.com/3.jpg"
4 | 4 | "http://some.domain.com/3.jpg"
documents
これらのテーブルに とという名前を付けましょうdoc_pictures
。複数の画像を含むすべてのドキュメントを返すクエリを作成しようとしています。この例では、これは id を持つドキュメントのみを返すことを意味し1
ます。
制限と仮定:
- どちらのテーブルも巨大であるため、複雑なクエリには時間がかかりすぎる可能性があります。
- ドキュメントに外国の画像行がいくつあるかは気にしません。私はそれが1以上であることだけを気にします。
- 出力がドキュメントの ID であるか、pictures テーブルの行であるかは気にしません。
- そのようなドキュメントの小さなサブセットだけを取得することは気にしません (たとえば、複数の写真を含む 10 個のドキュメントであり、複数の写真を含むすべてのドキュメントではありません)。
データベースはMysqlです