Что обеспечивает лучшую производительность при одном большом соединении или нескольких запросах?
у меня есть стол под названием заказы. один столбец в заказе это customer_id
у меня есть таблица под названием клиентов с 10 полями
Учитывая два варианта, если я хочу создать массив объектов заказа и встроить его в объект заказа, это объект клиента, у меня есть два варианта.
Опция 1:а. таблица заказов первого запроса. б. циклически проходить через записи и запрашивать таблицу лиц, чтобы получить записи о человеке
это было бы что-то вроде:
Select * from APplications
Select * from Customer where id = 1
Select * from Customer where id = 2
Select * from Customer where id = 3
Select * from Customer where id = etc . . .
Вариант 2:а. объединить все поля
это очевидный # 2, потому что вы делаете только один запрос против 1 + [numberOforders] запросов (может быть сотни или более)
Это было бы что-то вроде:
Select * from Applications a, Customers c
Innerjoin c.id = a.customerID
Мой главный вопрос: что если бы у меня было 10 других таблиц, которые были вне таблицы заказов (аналогично клиенту), где у вас был идентификатор в таблице заказов. Если вы делаете один запрос, который объединяет эти 10 таблиц, или в какой-то момент это неэффективно сделать это:
любые предложения помогут .. есть ли оптимизация для обеспечения быстрой производительности