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

Ваш аккаунт

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

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

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

Обращение к бд

44K
27 октября 2010 года
webmac
12 / / 25.03.2009
У меня вопрос, что лучше сделать один запрос к базе данных объединяющий поля несколько таблиц, или разбить его на несколько
отдельных запросов.
Цель выбрать все данные для текущего документа.

Суть вопроса, что меня собственно и тревожит по нехватке опыта, при одном запросе будет выбираться много данных, которые по идее находятся в памяти, и может привести к её исчерпанию.
Если разбить на несколько подзапросов, то в памяти будет только результат выборки каждого, что мне кажется экономнее, но при этом количество обращений к бд увеличивается, и повышает на неё загрузку.

В общем правильно ли понял принцип работы :eek: или вообще все не правильно.
6
27 октября 2010 года
George
4.1K / / 05.01.2007
Смотря сколько данных. Надо смотреть и оценивать - в каких-то случаях вернее одним запросом вытащить, в каких-то несколькими. По мне, так чаще всего кошерно доставать только те данные, которые прям сейчас будет видеть юзер. Одним запросом. Но я тоже неопытный чел, меня нельзя слушать. :)
244
27 октября 2010 года
UAS
2.0K / / 19.07.2006
Четкого ответа нет. Всё зависит от задачи и от объема данных и нагрузки на сайт.
1.9K
27 октября 2010 года
Werky
129 / / 14.01.2006
Как уже было скзано однозначно сказать нельзя, каждая задача требует индивидуального подхода.

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

Второй параметр который я смотрю так это время выполнения запроса.

Если у Вас очень большая нагрузка из-за запросов к БД используйте кэширование.
10
28 октября 2010 года
Freeman
3.2K / / 06.03.2004
Общий совет при работе с любой БД: выбирать одним запросом, когда много полей, но мало записей.

Под мало подразумевается ограниченное или заранее известное число: товары в одной накладной или заказе -- мало, все сообщения одного пользователя -- много, несмотря на то, что у большинства пользователей не более десятка сообщений.

Общая стратегия при работе с любой БД: много полей -- конечные данные, много записей -- основые операции, каждая из которых требует отдельной реализации.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог