Вывод меток (тегов) к новостям. Нагрузка и вывод
1.
ШЕДЕВР (15.05.2013 / 10:27)
Приветстсвую.
Написал новостной модуль.
При публикации новой новости, необходимо заполнить поля: Заголовок, Содержание и Метки (через запятую, к примеру: visavi, веб-мастер, программирование).
Всё это записывается в базу данных в одну таблицу, а точнее строку. То есть я метки не разделяю в отдельную таблицу.
Когда я вывожу 1 новость (при чтении) то и вместе с новостью вывожу список меток, уже как гиперссылкой, нажав на неё посредством поиска в БД выводятся все новости имеющие такие метки.
Всё это понятно как 2+2.
Но тут другая сторона. На главной странице ВСЕХ новостей, где их может быть 10-100-500 новостей, необходимо вывести ВСЕ метки или к примеру 100 самых частых. То есть получается нужно делать запрос в бд, циклов вывести все новости, изъять все метки(теги), разделить, определить частоту повторяемости и вывести 100 меток? Это наверное "убьет" по нагрузке хостинг и бд?
Пока я еще сайт не запустил и можно отредактировать таблицу/скрипт, лучше сразу доделаю, чтобы в дальнейшем не было проблем.
Спасибо.
2.
Антон (15.05.2013 / 11:01)
А почему бы не кэшировать результаты запросов?
3.
Олег (15.05.2013 / 12:14)
Не понял чем заморочка то? У тебя ведь и сама новость и метки к этой новости содержатся в одной таблице и в одной строке. В чем трудность вывести метки вместе с новостями? Ты же выводишь циклом новости, в том же цикле выводи и метки, и никаких дополнительных запросов ненужно.
4.
ШЕДЕВР (15.05.2013 / 13:24)
3, я вывожу новости limit'ом, к примеру на 1 страницу 10 новостей. А чтобы вывести все метки из каждой новости, нужно вывести ВСЕ новости. Разница на нагрузку ведь есть?
2 WmLiM, при каждом добавлении/редактировании новости, вывести все метки, определить самые частые, сохранить в кеш и выводить? Тоже идея кстати.
5.
Eyler (16.05.2013 / 02:39)
беда с проектированием БД, если так. Метки можно хранить в БД отделными записями, это не есть чем-то плохим. Размер прикинь сам: 10 000 записей по 3-6 меток - 30 000 - 60 000 записей. DISTINCT"ом выборка по названию и все...
URL:
https://visavi.net/topics/37863