Производительность: SQL против Post - PullRequest
3 голосов
/ 01 августа 2011

У меня есть 2 веб-страницы, одна из которых будет содержать сводную информацию о событии (например, «Исполнитель», «Город», «Дата»), а другая будет содержать дополнительную подробную информацию о событии (например, «Время», «Лат» / «Длинный», «Полный адрес»).Пользователи увидят сводную информацию и смогут перейти к подробной информации.

Что касается производительности, то лучше всего предварительно загрузить всю информацию с моей первой страницы, а затем простопередать дополнительную подробную информацию на вторую страницу по почте?Или на первой странице просто запросите точные данные, которые мне нужны, затем на второй странице выполните запрос еще раз, на этот раз верните дополнительные данные?

Я открыт для любых предложений.Спасибо.

Ответы [ 2 ]

4 голосов
/ 01 августа 2011

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

Как правило, даже если производительность является серьезной проблемой, вы хотели бы иметь кешированиебыть ортогональным к логике вашего приложения.Существуют неинтрузивные механизмы, такие как веб-прокси и использование кэша Hibernate 2-го уровня, которые стоит рассмотреть, прежде чем вы посвятите себя внедрению кэширования в код своего приложения.

0 голосов
/ 01 августа 2011

НЕТ ответа может быть на 100% правильным, поскольку может меняться в зависимости от: (1) количества данных, которое у вас есть (т. Е. Сколько результатов на странице сводки, сколько всего событий в вашей БД?) (2) количествоколичество серверов (3) объем трафика (4) архитектура вашего программного обеспечения (т. е. какая база данных, веб-сервер и т. д.) и (5) способ использования вашего сайта (т. е. пользователи обычно собираютсянажмите на 1 или 2 результаты на странице сводки, или они, вероятно, нажмут 20 или 30?).(6) Готовы ли вы пожертвовать точностью ради скорости?(т.е. как часто меняются данные и насколько важно, чтобы пользователи получали последнюю информацию о ABSOLUTE?) и т. д., и т. д., ----

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...