Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

BIG vs small

1.8K
21 июля 2010 года
Kama
153 / / 04.05.2006
Привет всем, у меня такой вопрос...:
Какие запросы более выгодны по затратам ресурсов, Большие но одиночные(JOIN`s), или же маленькие но частые?
253
21 июля 2010 года
Proger_XP
1.5K / / 07.08.2004
Чисто из логических соображений: если взять много маленьких запросов и один большой, но равноценный им (например, с UNION), первые должны выполнятся немного дольше, так как на установку соединения/посылку данных серверу БД/на начальную обработку данных сервером будет уходить время при каждом запросе.
В то же время большой запрос пройдёт эту процедуру только один раз.

Хотя тут надо видеть границу, за которой начинается путаный код. Допустим, если есть 3 маленьких запроса, но они в разных частях проги, то я бы не стал их объединять в один, если кода станет запутаннее - разница в скорости будет минимальна и не будет стоить усилий на подержание такого кода.
385
21 июля 2010 года
SomewherSomehow
477 / / 25.07.2004
Все это понятия относительные. Если бд спроектирована правильно, есть все индексы, статистика и т.д. - то джойны, даже большие ничего вам не замедлят, а м.б. даже наоборот.
Но вот что вы понимаете под "маленькими" запросами - вообще непонятно...
Если, например, у нас имеется "гипотетическая" ситуация, когда, нужно вытащить клиентов и сумму их заказов. И для решения задачи вы разобьете это на два "маленьких" запроса, один по клиентам, другой в цикле берет сумму заказа для каждого клиента - это будет намного медленне, чем сделать нормальный джоин с агрегатом.

В любом случае - слишком расплывчатый вопрос, чтобы дать на него однозначный ответ. Самый лучший способ - вооружаетесь средством профилирования вашей СУБД и исследуете все это на практике!
8.2K
22 июля 2010 года
Ora-cool
211 / / 20.09.2007
Как уже было отмечено, накладные расходы в случае одного запроса меньше, чем для множества мелких. Плюс работа оптимизатора. Когда запрос общий, оптимизатор имеет больше информации и может выбрать более оптимальный план выполнения, чем в случае нескольких запросов
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог