Использовать отбор или несколько запросов? - PullRequest
0 голосов
/ 17 января 2012

Мне интересно, что лучше. На данный момент у меня есть 3 кода активации для определенных функций в нашем программном обеспечении. Эти три кода проверяются на достоверность более 3 запросов в данный момент. Это также можно сделать с помощью 1 запроса с подвыборками. Дело в том, что в будущем может быть добавлено все больше и больше кодов, и что считается лучшей практикой в ​​этой ситуации? Меня интересует перспектива снижения нагрузки на DB-сервер и получения максимальной производительности в этом сценарии. (Индексы установлены правильно, конечно)

Ответы [ 2 ]

1 голос
/ 17 января 2012

Я думаю, что почти единственный сценарий, когда разбивается запрос на несколько, - это когда кешируются результаты некоторых из них. Таким образом, общая эффективность их может быть лучше.

Другой сценарий может возникнуть, когда вы хотите перенести бизнес-логику из БД в приложение, даже если производительность может снизиться.

В противном случае я бы использовал один запрос.

0 голосов
/ 17 января 2012

Один мудрый запрос практически всегда лучше, чем несколько запросов.

В большинстве случаев лучший способ - переписать ваши запросы, чтобы вы могли получить информацию, требуемую одним запросом.

Кстати, подзапросы обрабатываются внутренним оптимизатором как объединения, поэтому иногда полезно узнать, как писать SQL-запросы с объединениями и персоналом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...