north_leshiy
@north_leshiy
Руководитель направления разработки

Как лучше создать запрос в базу: лепить один большой или плодить маленькие?

Имеется база SQL server c парой десятков таблиц.
Для одной из задач интерфейса требуется выбрать сразу большой кусок данных из 8 таблиц. Причем операция разовая и достаточно редкая.

Как лучше делать запрос?
Делать большой выборку с десятком подзапросов и всякими JOIN-ами, или сделать лучше десяток отдельных SELECT-ов?

P.S. в SQL я новичок и, как многие из программистов, страдаю преждевременной оптимизацией.
  • Вопрос задан
  • 4262 просмотра
Решения вопроса 4
Тут вопрос в скорости и собственном выборе, я проводил тестирование что быстрее единый SQL запрос и разбитый на последовательные итерации, в обоих случаях выиграл последовательный + они были менее прожорливы к ресурсам.

Вы всегда можете это протестировать сами, и понять что быстрее, мое мнение я озвучил -)

Заполнить свою структуру 10000000 доп. записей и сравните.

А правильно или не правильно вопрос сложный.
Ответ написан
Комментировать
@Facetrollex
Если данные меняются редко (которые возвращает запрос), то советую делать один большой и просто кешировать результат.
Ответ написан
Комментировать
metamorph
@metamorph
Если права пользователя позволяют, создайте из большого запроса VIEW, тем самым исключив время на разбор запроса.
Ответ написан
Комментировать
Однозначно 1 большой + кэширование
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mandor
@Mandor
Если задача позволяет - делайте несколько маленьких, так проще и удобнее. Другое дело, если вам нужна фильтрация/сортировки по полям join-нутых таблиц, тогда выбора нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы