Записи каталога: обновленные HTML-файлы или на лету из базы данных? - PullRequest
0 голосов
/ 21 декабря 2009

У меня есть сайт базы данных, который будет обслуживать около 1200 первичных записей при запуске, с возможностью добавления ~ 100 новых записей в год. Каждая запись будет состоять из ~ 20 базовых значений из базы данных, а также рассчитанного среднего рейтинга и переменного количества комментариев пользователей.

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

Учитывая полосу пропускания, загрузку базы данных и время загрузки - было бы лучше просто сгенерировать всю страницу на лету с несколькими запросами после GET или было бы лучше иметь HTML-файлы и добавлять оценки и комментарии затем написать сценарий обновления, который будет обновлять все HTML-записи при запуске?

На мой взгляд, плюсы и минусы:

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

HTML & append
+ дружественная поисковая система
+ немного быстрее из-за меньшего количества запросов
- использует дисковое пространство
- немного более сложные требования к коду

Нейтральный
= шаблонирование будет одинаковым в любом случае

Мысли

1 Ответ

1 голос
/ 21 декабря 2009

Делайте то, что проще всего: вы обнаружите, что на практике все ваши плюсы и минусы на самом деле одинаковы для обоих вариантов.

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

Создание веб-страницы динамически из 1200 записей базы данных - фактически, откровенно говоря, 1 200 000 записей базы данных - вполне соответствуют возможностям MySQL и PHP даже на умеренно указанном общем хосте. Существует множество примеров сайтов, которые используют эту комбинацию с миллионами записей, поэтому производительность не будет проблемой долгое время!

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

Поисковая система будет копировать то, что делает браузер пользователя. Он отправляет хороший старый HTTP-запрос GET в корень вашего сайта, затем анализирует каждую из ссылок и запрашивает каждую из них, пока паук не получит все возможные страницы. Чтобы убедиться, что сайт, управляемый базой данных, проиндексирован поисковой системой, предоставьте на своей странице <a href="http://linkgoeshere">Link text</a> ссылки на каждую запись.

Что-то такое же простое, как и список записей A-Z с сеткой внизу - например, сайт, над которым я сейчас работаю, это http://arkive.org, где мы делаем именно это.

...