Максимальное количество запросов SQL на страницу

Этот вопрос, вероятно, не имеет определенного ответа, поэтому, если он считается субъективным и, скажем, плохим , пожалуйста, не стесняйтесь его закрывать.

В основном я разрабатываю довольно большое веб-приложение (PHP), и он использует CakePHP . Сейчас он находится в стадии разработки, и некоторые вещи в базе данных действительно сложны, поэтому необходимо много запросов, чтобы отображать страницы (около 7-25 запросов).

Поскольку это, вероятно, будет крупномасштабным, я хотел бы знать, что является максимальным , то есть сортировкой точки, которая указывает, что «вы, вероятно, что-то не так и должны оптимизировать», количество SQL-запросов это должно быть сделано на странице. У меня есть очень простая система кеширования, настроенная прямо сейчас, которая уменьшает количество запросов, которыми управляет один пользователь, до 5 в течение 15 секунд.

Много запущено 25 запросов? Должен ли я остановить разработку (у меня много времени) на некоторое время и реорганизовать код, удалить SQL-запросы, которые не используются, и посвятить время для повышения производительности в этой части?

Это, вероятно, звучит немного запутанно, поэтому возобновлено: есть ли фактический максимум для количества запросов, выполняемых на странице, которая не забивает сервер (то есть, совместно используемая среда хостинга)?

Благодарю.

Related of "Максимальное количество запросов SQL на страницу"

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

Самое главное – это не число, а расход запроса …

Запуск 100 SELECT name FROM foo WHERE id = 1 LIMIT 1 будет намного лучше, чем запуск 1 из следующего:

 SELECT * FROM foo AS a JOIN bar AS b JOIN car AS c WHERE a.col LIKE '%f%' OR b.col LIKE '%b%' OR c.col LIKE '%b%' 

Так что не беспокойтесь о количестве, если это не абсурдно (более 100 человек высоки. Несколько тысяч абсурдны) … Не забывайте, что вы можете включить Query Cache Cache … Так что даже если вы набираете много запросов в секунду , пока нет тонны обновлений, большинство из них будут напрямую получать результаты кеша.

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

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