Мне нужно получить данные из нескольких таблиц, поэтому я использовал запрос с N левыми внешними объединениями.Мне кажется, что это может быть пустой тратой производительности, так как я получаю декартово произведение множества данных.Какой способ предпочтительнее для достижения большей производительности?Я думаю сделать N + 1 маленьких запросов.Я на правильном пути?
Я знаю, это имеет мало общего со спецификой JDBC.Я хочу получить данные из одной таблицы и сделать внешние левые соединения с другими N таблицами.Результирующий набор становится очень большим, потому что я получаю декартово произведение.Например:
table1data1, table2data1, table3data1
table1data1, table2data2, table3data1
table1data1, table2data1, table3data2
table1data1, table2data2, table2data
Я знаю, что если я сделаю несколько запросов к базе данных (например, в моем примере я получу 1 запись для таблицы 1, 2 записи для таблицы 2 и 2 записи для таблицы 2), я сделаю много обращений в базу данных,Но я проверил этот способ, и он выглядит намного быстрее.