У меня есть 2 таблицы:2 Выберите или 1 Присоедините запрос?
книги (идентификатор, название, возраст) ----> 100 Milions строк
автор (идентификатор, book_id, имя, род) ----> 10 миллионов строки
Теперь, предположим, у меня есть общий идентификатор книги. Мне нужно распечатать эту страницу:
Title: mybook
authors: Tom, Graham, Luis, Clarke, George
Итак ... что это лучший способ сделать это?
1) Простой присоединиться как это:
Select book.title, author.name
From book, author
WHERE (author.book_id = book.id) AND (book.id = 342)
2) Для предотвращения объединения, я мог бы сделать 2 простой запрос:
Select title FROM book WHERE id = 342
Select name FROM author WHERE book_id = 342
Что является наиболее эффективным способом?
БД не сворачивает строки в список, разделенный запятыми, клиент, предположительно, может использовать некоторый язык сценариев. –
@Evan - Он может работать с GROUP_CONCAT или аналогичным. –
Я не сказал, что это невозможно. Я просто хотел сказать, что это не делается, и это является внешним по отношению к вопросу. –