Как лучше создать запрос в базу: лепить один большой или плодить маленькие?
Имеется база SQL server c парой десятков таблиц.
Для одной из задач интерфейса требуется выбрать сразу большой кусок данных из 8 таблиц. Причем операция разовая и достаточно редкая.
Как лучше делать запрос?
Делать большой выборку с десятком подзапросов и всякими JOIN-ами, или сделать лучше десяток отдельных SELECT-ов?
P.S. в SQL я новичок и, как многие из программистов, страдаю преждевременной оптимизацией.
Тут вопрос в скорости и собственном выборе, я проводил тестирование что быстрее единый SQL запрос и разбитый на последовательные итерации, в обоих случаях выиграл последовательный + они были менее прожорливы к ресурсам.
Вы всегда можете это протестировать сами, и понять что быстрее, мое мнение я озвучил -)
Заполнить свою структуру 10000000 доп. записей и сравните.
Если задача позволяет - делайте несколько маленьких, так проще и удобнее. Другое дело, если вам нужна фильтрация/сортировки по полям join-нутых таблиц, тогда выбора нет.