Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выборка по трем таблицам. mysql 
:(
    Опции темы
enoff
Дата 15.12.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



Есть три таблицы:
_____________
news_categories |
----------------------
id | title | order   |
----------------------
по полю order(int) категории сортируются.

_______________________________
news_feeds                                           |            
--------------------------------------------------
id | category_id | title | feed_url | open   |
--------------------------------------------------

_________________________________
news                                                        |
----------------------------------------------------
id | feed_id | category_id | title | url | date |
----------------------------------------------------

Вот примерная структура таблиц.
Плюс к этому нужго еще одно полу в таблице news - дата. Назовем пока `open_date`. Объясню дальше.

Нужно выбрать пять новостей из каждой категории, у которых у feed'а open=1 и отсортировать их по дате. Если `open_date` не NULL и не менее текущей даты, то эта новость должна присутствовать в результате выборки.

Категорий всего 50. Новостей - таблица каждый день пополняется на 10 000 записей. + в таблицах дополнительные текстовые поля.
В цикле перебирать категории и делать запросы, кажется, не лучшее решение.

Вариантов у меня 1:
создать дополнительную таблицу `news_main`(`news_id`, `open_date`) где будут все требуемые новости.
Записей постоянно будет 250. Перестраиваться таблица будет раз в 10 минут (периодичность подгружения новостей). Плюс изредка незначительные изменения при действиях в админке.
На выборку затраты будут минимальны, на изменение тоже высокой нагрузки не будет.

Каким путем лучше пойти?
Интересует меня первый вариант. Как выбрать по пять новостей из каждой категории с этими условиями? (открыт ли фид, `open_date`, сортировка по `date`)?

Это сообщение отредактировал(а) enoff - 15.12.2010, 13:01
PM MAIL ICQ Skype GTalk   Вверх
enoff
Дата 15.12.2010, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 13



и новое условие. В таблице `news_feeds` поле `region`.
Плюс в вышесказанному, нужно выбрать не по пять из категории, а по пять из одной категории для каждого региона.
Вобщем, мне малореальным представляется это сделать без доп. таблицы, сделаю еще одну.

Но за подсказки других вариантов, или как можно сделать без новой таблицы, буду рад smile 
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.