Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Нормальное кол-во Запросов


Автор: DiNaMiK 19.2.2007, 20:50
При написании скриптов чтобы свести минимум работы с файлами храню многую инфу в БД.

И вот задумался а сколько я делаю запросов. Посчитав их скриптом я увидил что я делаю от 20 и более запросов.

При этом страница ещё пустая.

Вот взять под пример движок который я делал под сайт.

У меня вышло 17 запросов. А ещё модуль новостей и многие функции были не подключены.

Большинство запросов выглядят так:
Код
SELECT * FROM `Таблица` WHERE `Параметр`='Значение'


Вот хочу спросить сколько для нормальной работе скрипта нужно делать запросов?

Просто сумма 20+ запросов меня начинает пугать.

Автор: BobiKK 19.2.2007, 21:44
От 1 до 100. Нельзя же так просто сказать. 
Уменьшить количество запросов просто так не получится. Для этого надо:
1) Нормализовать БД по самые помидоры
2) Рефакторинг кода с целью исключения дублирования данных при разных выборках
3) Кеширование выборок

Автор: mishaSL 20.2.2007, 10:53
Все зависит от запросов, но все запросы должны быть оптимизированны.  
Как правило я ориентируюсь на цифру не более 10 запросов на странице. Максимум 15 запросов, но это за редким исключением.

Автор: vasac 20.2.2007, 11:01
А я ориентируюсь на время выполнения сценария. Если он выполняется приемлимое время, то пусть там будет хоть двести запросов.

Автор: DiNaMiK 20.2.2007, 23:44
Цитата
А я ориентируюсь на время выполнения сценария. 


И на какое время ореентируешься если скрипт тестится пока на локалхосте

Автор: vasac 21.2.2007, 09:44
на десятые доли секунды

Автор: mishaSL 21.2.2007, 12:25
На время тоже нужно ориентировться, но сложно предугадать как измениться время выполнения при большой нагрузке и больших объемах данных (можно конечно это искуственно проверять).  По-этому количеству и качеству запросов к БД нужно тоже уделять внимание.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)