Я занимаюсь разработкой сайта, и у меня есть некоторые сомнения относительно наилучшего подхода к базе данных. В общем, когда я загружаю страницу, из базы данных нужно извлечь несколько данных. Я не уверен, что я делаю это наилучшим образом. Так прямо сейчас, и в качестве примера я называю следующие функции при отображении страницы:Производительность с php и mysql
(...)
(a) -> getAuthorName() // 1 db connection - 1 db query
(b) -> getAuthorLocation() // 1 db connection - 1 db query
(consider that here it could come more info the author....)
(...)
(c) count<- countNumberBooks() // 1 db connection - 1 db query
(d) if(count == 0)
(e)//do something
else
(f) books<- getBooksByAuthor() // 1 db connection - 1 db query
(g) renderBooks...
Учитывая этот пример, мои вопросы:
- Является ли это лучше сделать (а) и (б) в одной единственной функции, чтобы иметь только 1 запрос к базе данных?
- Лучше ли делать (f), считать результат, а затем либо делать (e), либо (g), и таким образом избавиться от (c)?
- Или, лучше ли загружать все, что нам нужно из базы данных за один шаг в начале, извлекать данные в какую-то структуру, а затем читать их при рендеринге страницы?
Спасибо!
Стандартный ответ: Это, вероятно, зависит от того, куча вещей. Попробуйте профилировать свой код - насколько быстро различные возможности выполняются под одним пользователем? Попробуйте загрузить ваш код - какая разница, если вы получаете сотни запросов в секунду? –