Надеюсь, вы, ребята, не возражаете, если я задам не по теме и наивный вопрос. Но я не смог найти удовлетворительного ответа на этот вопрос.
Максимум, сколько запросов в среднем на странице должно быть разрешено обрабатывать для вывода результатов (я ищу аспект качества). Например, в приложении для электронной коммерции требуется в среднем от 4 до 5 запросов. Минимальное количество запросов, короче его время отклика. Отсюда и вопрос.
Этот вопрос не зависит от какой-либо программной платформы. Но давайте рассмотрим PHP и MySql в качестве примера.
Один сложный запрос, выполнение которого занимает полсекунды, является менее оптимальным, чем выполнение 5 простых запросов, выполнение которых занимает всего 1/10 секунды.
Наличие большего количества простых запросов также может быть компромиссом для того, чтобы ваш код был более организованным. Например, ORM часто выполняют большее количество вызовов базы данных, чем если бы вы писали запросы вручную, но они существенно упрощают разработку приложения.
В конечном счете, однако, любое приложение, которое является достаточно сложным, чтобы беспокоиться о количестве обращений к базе данных, является достаточно сложным, так что в действительности оно должно использовать слой кэширования везде, где это возможно. Пока нет страниц, которые загружаются долго, на самом деле не стоит придираться к точному количеству запросов.
На самом деле, трудно сказать, сколько запросов должна запускать страница. Это зависит от
следующие факторы:
Сложность применения
Данные, отображаемые на веб-странице в большом, сложном и ориентированном на данные приложении, имеют большое количество по сравнению с обычными веб-страницами. Таким образом, может потребоваться, чтобы вы запустили большее количество запросов для получения данных.
Типы запросов
Вы можете запустить больше запросов, чтобы получить отдельный фрагмент данных ИЛИ Вы можете использовать сложное соединение, чтобы получить все данные из нескольких таблиц за один раз. Таким образом, здесь вы делаете компромисс между нет. из db вызывает VS Объем обработки и памяти, требуемый Complex JOIN. Если таблицы, к которым вы присоединяетесь, не очень большие, тогда объединение — лучший вариант. Но, если ваши таблицы большие, то может иметь смысл сделать отдельный вызов в db для получения данных.
Конфигурация развертывания
Если сервер приложений и сервер БД настроены на одном компьютере, выполнение нескольких запросов может не иметь большого значения. Но если ваш db-сервер и сервер приложений расположены в разных местах, то должны использоваться минимальные запросы или одиночные запросы с большим количеством объединений, чтобы избежать задержки в сети.
Я разработал много веб-страниц с до 50 запросов на страницу. Все приемлемо быстро. Хитрость заключается не в «количестве запросов», а в их «скорости». В лучшем случае запрос занимает менее 10 миллисекунд. 50 из них все еще меньше половины секунды. На такой странице оказание страницы, вероятно, займет больше времени, чем это. То есть MySQL не является узким местом.
Как ускорить запросы? Простые запросы. Точечные запросы. Хорошие показатели (часто «составные»).
Как замедлить запросы? EAV. Msgstr «Показано 10 результатов из 123456». Таблица сканов.
Хотите узнать больше? Давайте посмотрим на некоторые вопросы.