Сколько запросов слишком много?
Мне нужно запустить один раз 10 запросов mysql для одного человека на одной странице. Это очень плохо? У меня неплохой хостинг, но все-таки, он может сломаться или что-то еще? Большое вам спасибо.
Ответы
Ответ 1
10 быстрых запросов могут быть лучше 1 медленного. Определите, что приемлемо с точки зрения времени отклика, пропускной способности, в условиях обычного и загляденного трафика и измерьте, являются ли эти 10 запросов проблемой или нет (т.е. Не уважают ваши ожидания).
Если они есть, попробуйте изменить свой дизайн и найти лучшее решение.
Ответ 2
Drupal-сайты обычно делают от 150 до 400 + запросов на запрос. Общее время, затрачиваемое на запрос базы данных, по-прежнему составляет менее 1 с - это не число, которое убивает сервер, а качество/сложность запросов (и, возможно, размер набора данных, который они выполняют поиск).
Я не могу сказать, какие запросы вы говорите, но на большинстве сайтов 10 совсем немного.
Если вы заинтересованы в производительности, вы всегда можете узнать, как долго ваши запросы выполняются в программе управления базами данных, например, MySQL Workbench.
Ответ 3
Сколько запросов слишком много?
Я буду перефразировать ваш вопрос:
Мое приложение достаточно быстро?
Придумайте бизнес-определение "достаточно быстро" для вашего приложения (на основе требований бизнеса/пользователя), придумайте способ моделирования всех сценариев использования и ожидаемой загрузки, создания имитаций этой нагрузки и профиля (трассировка/time).
Этот подход представляет собой обоснованное предположение. Все, что не хватает, это чистое умозрение и бесполезное.
Если ваше приложение уже готово к работе и в большинстве случаев работает хорошо, вы можете получить отзывы от пользователей, чтобы определить точки боли. Оттуда вы можете смоделировать эти точки боли и соответствующую нагрузку и профиль.
Документируйте свои результаты. После того, как вы внесете улучшения в свое приложение, у вас есть инструмент для определения того, достигли ли ваши цели оптимизации ваших целей.
Ответ 4
Это зависит от того, сколько циклов процессора будет использовать сумма запросов.
1 запрос может потреблять больше циклов процессора, чем 100. Все зависит от их содержимого.
Вы можете начать с оптимизации их в следующем руководстве: http://beginner-sql-tutorial.com/sql-query-tuning.htm
Ответ 5
Если вы новичок в разработке. Я рекомендую сосредоточиться на наиболее логичных и очевидных способах избежать чрезмерной обработки. Не тратьте слишком много времени на размышления о количестве запросов и сосредоточении внимания на хорошо написанном коде. Это означает хорошее использование классов, методов и функций.
Это приведет к упрощению отладки кода, который сам по себе может привести к лучшей производительности? Затем на определенном этапе производительность приложений может быть улучшена. Что-то легко сделать при работе с хорошо написанным кодом.
Вы можете создать класс с методами часто используемых запросов и использовать их все время. Таким образом, все запросы проходят через один класс, и оттуда вы можете многое сделать, когда дело доходит до улучшения ситуации намного позже в вашей жизни программного обеспечения.
Существует много способов избежать повторения запросов или более сложных запросов, чем требуется, что очень часто случается. Все проще и лучше продавать другим разработчикам, если разметка - это удовольствие для работы.
Ответ 6
Я думаю, что это не проблема. 10 Запросов не столько для сайта. Меньше лучше не вопрос, но когда у вас есть 3000 - 5000, тогда вы должны подумать о своей структуре.
И когда вы заходите в один запрос через таблицу с миллионами строк без индекса, тогда их 10.
Я видел сайт Typo3 с большим количеством расширений, которые делают 7500 запросов с кешем. Это происходит, когда вы устанавливаете и устанавливаете и не смотрите, что происходит.
Но вы можете посмотреть, что вы делаете логический JOIN над таблицами, у которых меньше запросов.
Ответ 7
Ну есть большие запросы и небольшие тривиальные запросы. Какие из них ваши? Как правило, вы должны попытаться извлечь данные в виде нескольких запросов, насколько это возможно. Чем тяжелее загрузка на сервере базы данных, тем сложнее будет обслуживать клиентов по мере увеличения трафика.
Ответ 8
Просто добавьте немного другой взгляд на другие хорошие ответы:
Во-первых, чтобы согласиться, тип и сложность запросов, которые вы делаете, будут иметь значение более 99% времени, чем количество запросов.
Однако в редкой ситуации, когда на сетевом пути к серверу базы данных существует высокая задержка (т.е. сервер db удален или такой, не говоря, что это логическая или нормальная настройка, но я видел это) вы хотите свести к минимуму количество выполненных запросов, так как каждый раз, когда вы разговариваете с сервером базы данных, время передачи сети будет на порядок или два дольше, чем требуется для вычисления запроса. Эта ситуация может действительно убить время загрузки страницы, и поэтому вы действительно хотите минимизировать количество запросов (на самом деле, вы просто хотите изменить настройку сервера...).