Безопасно ли запрашивать мою базу данных для каждой загрузки страницы?

0

Значение каждой страницы на моем веб-сайте запрашивает что-то из базы данных.

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

  • 0
    В целом, важно, сколько параллельных запросов / запросов вы ожидаете и сколько ресурсов у вас в вашем распоряжении (вычислительная мощность). Если вы не ожидаете интенсивного движения, вы в порядке. Если вы ожидаете большой трафик, вы можете найти узкое место для запросов к базе данных. Вы можете использовать нагрузочное тестирование, чтобы узнать, сколько может выдержать ваше программное обеспечение.
  • 0
    Я не знаю, отвечает ли это на ваш вопрос, но подумайте, что произойдет, если приложение отобразит страницу 1 из 2, тогда, пока пользователь смотрит, что другой сеанс изменяет данные, тогда пользователь запрашивает страницу 2 из 2. Теперь, возможно, если бы вы кешировали всю партию с самого начала, вы избежали бы несогласованности, но тогда вы бы не отображали последние данные, поэтому, возможно, эти кешированные результаты будут недействительными. Так что это зависит ...
Теги:
database
web

3 ответа

1
Лучший ответ

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

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

2

Как и все, ответ зависит от этого. :-)

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

Другая стратегия - использовать быстрый кеш в ОЗУ для часто требуемых данных. ОЗУ в тысячи раз быстрее, чем на дисках. Вам может понравиться ознакомиться с цифрами, которые должны знать все. Эти цифры - всего лишь примеры, но цель состоит в том, чтобы заставить программистов задуматься о том, что перемещение данных вокруг имеет разную стоимость, поскольку вы используете RAM vs. disk vs.network или CPU.

PS: Пожалуйста, не покупайте в мифе, что вы плохо разбираетесь в компьютерах, потому что вы женщина. Все начинаются как новичок, независимо от их пола или фона. Только через практику и учебу кто-нибудь из нас изучает этот материал. Я рекомендую посмотреть " Скрытые фигуры", рассказ о женщинах, которые занимались разработкой математики и программированием для НАСА.

Еще одной заметной женщиной является Маргарет Гамильтон, которая практически придумала профессию "разработки программного обеспечения".

0

Это нормально. Большинство веб-приложений должны запрашивать базу данных для каждой загрузки страницы (обычно несколько раз), так как большая часть содержимого страницы поступает из базы данных.

Если вы беспокоитесь о производительности, подумайте об этом: есть ли запрос для каждой страницы? Или он загружает одни и те же данные снова и снова? Если он продолжает запрашивать одно и то же (например, текущее имя пользователя), вы можете повысить производительность, сохраняя данные в состоянии сеанса приложения. Но если он отличается (например, сколько непрочитанных сообщений имеет пользователь), вам нужно будет запускать запрос каждый раз.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню