Вопрос к админам БД. Бывает ли, что высылка запросов в цикле в целом более оправдана, чем 1 сложный запрос?

MySQL оптимизация база данных бд время генерации

Есть главная страница, можно выводить 20 элементов 20-ю запросами, при этом на локалхосте время генерации страницы 30 мс. Решаю устранить эти 20 мелких запросов в цикле и пишу 1 сложный. В результате получаю время генерации около 85 мс. Так что лучше? И от чего это зависит? Спасибо.

Примечание:
Посмотрел я по Вашему совету, Corvus Aterum. Особой разницы не вижу... В общем-то, вся одна и та же ботва. Тем более, что количество элементов всегда будет 20, вопрос только - сколько юзеров будут эти элементы просить.
Ответы:
нет смысла... так как при увеличении цифры, скажем до N элементов, N запросов будут дольше чем один сложный запрос.
я могу ошибаться, но это легко проверить... попробуй увеличить количество выводимых элементов в БД скажем до 100... и сравни 100 простых запросов и один сложный... так можно примерно выяснить как изменяется время, и сделать соответственный вывод.
Это довольно сложный вопрос, на него непросто дать односложный ответ.
Многое зависит от тех данных, которые берут из базы запросы. От индексирования таблиц, видов индексов, видов ключей, нормализации структуры таблиц, от того где они хранятся. От взаиморасположения страниц БД содержащих нужные данные. От кеша сервера и дисковой системы. От собранной БД статистики. От типов данных. От умения строить сложные запросы. Конкретного ответа на этот вопрос дать, наверное, нельзя. Проще проверить на практике, будет по крайней мере близко к истине :)
Вопрос здесь не в количестве запросов, а в кривизне рук, которые запросы составляют.
Если один человек поедет на дачу на велосипеде и доедет через час, а другой - на порше и въедет в столб, в итоге добравшись через полгода через больницу - это не значит, что велосипед быстрее порша.
Гм, также всё это может зависеть и от архитектуры базы данных.
Я думаю вам стоит немного поработать над индексами и, возможно, пересмотреть сам сложный запрос. В большинстве случаев 20 запросов хуже, чем 1.
1. Запросы в цикле - зло.
2. Сложные запросы - зло.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.