Лучший способ получить данные из базы данных - PullRequest
0 голосов
/ 29 октября 2010

У меня есть сомнения. Мне нужно получать данные с сервера дважды каждый раз, когда я загружаю страницу, одну для рендеринга HTML и другую для получения данных на стороне клиента (javascript).

Так что я не знаю точно, что это лучший способ и самый быстрый. Я пытался реализовать объект сеанса и сохранить данные один раз, используя технику загрузки joinload. Когда данные находятся на стороне клиента, чтобы убить объект сеанса.

Еще один - дважды вызвать базу данных.

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

И если второй вариант лучше, какую методику загрузки (joinload, eagerload или subqueryload) лучше использовать.

Каждый вызов может быть набором данных.

Любая помощь может быть действительно полезной.

Заранее спасибо!

1 Ответ

1 голос
/ 13 ноября 2010

Я не совсем уверен во всех этих вещах, которые вы просили, поэтому я попробую 2 разных сценария.

  • Если данные, которые вам нужны для отображения HTML и данные, необходимые для JavaScript, то же самое - вы делаете это очень неправильно .Все, что вам нужно сделать, это запросить базу данных только для html, затем структурировать данные, необходимые для javascript, в скрытых полях, а затем, на стороне клиента, запросить скрытые поля html с помощью javascript и использовать данные в дальнейшем.
  • Если наборы данных отличаются от тех, которые вам, вероятно, понадобится ajax-запрос со стороны клиента после отобразится html.То есть дополнительный http-запрос.Я говорю, что вы закрываете соединение БД после первого звонка, а затем снова открываете его при следующем запросе http.Каждый http-запрос сам по себе, вам нужно позаботиться об открытии / закрытии соединений внутри одиночного запроса.[То есть, если вы не используете пул, но это другая проблема]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...