Нужен алгоритм: статья на несколько разделов

(Ответов: 25, Просмотров: 1129)
Страница 3 из 3 Первая 123
  1. Студент Аватар для Bukmeker
    • Регистрация: 27.10.2012
    • Сообщений: 74
    • Репутация: 6
    • Webmoney BL: ?
    к примеру дано:
    30 категорий
    1000 статей
    15 статей на странице
    в среднем берем 3 категории на статью
    итого 30 000 записей

    способ с таблицей:
    делаем 1 запрос + left join и выводим 15 статей, пробежавшись один раз по таблице с 30 000 записей

    способ с explode:
    для каждой статьи будет три раза сделан запрос в БД
    15 * 3 = 48 + 1(список категорий)

    Пока php функция не выполнится страница не сгенерируется.

    Честно, даже и не знаю, я запутался
    • 0
  2. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Цитата Сообщение от Bukmeker Посмотреть сообщение
    способ с таблицей: делаем 1 запрос + left join и выводим 15 статей, пробежавшись один раз по таблице с 30 000 записей
    не 1 а 15 запросов, так как статей 15

    Цитата Сообщение от Bukmeker Посмотреть сообщение
    способ с explode: для каждой статьи будет три раза сделан запрос в БД 15 * 3 = 48 + 1(список категорий)
    а зачем список категорий? он в поле category в самой статье
    Последний раз редактировалось cOAPerator; 09.01.2013 в 18:15.
    • 0
  3. Студент Аватар для Bukmeker
    • Регистрация: 27.10.2012
    • Сообщений: 74
    • Репутация: 6
    • Webmoney BL: ?
    Цитата Сообщение от cOAPerator Посмотреть сообщение
    не 1 а 15 запросов, так как статей 15
    вот это уже новость для меня, запрос-то один, который отбирает 15 записей по условию.

    сделал с дополнительной таблицей, количество запросов стало на 1 больше (судя по данным анализатора).
    пока статей немного, достаточно шустро работает =)
    будем ждать и тестить.
    • 0
  4. Студент
    • Регистрация: 13.06.2012
    • Сообщений: 58
    • Репутация: 4
    Для самого наглядного примера можно было бы привести пример таблицы.
    Я так понимаю, что есть таблица "articles_connection"(связи между статьями и категориями), "articles"(сами статьи) и "category" (категории) - что-то в этом роде?
    • 0
  5. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Цитата Сообщение от Bukmeker Посмотреть сообщение
    пока статей немного, достаточно шустро работает =)
    ну так речь и шла про много статей, так сказать с закладкой на будущее..
    • 0
  6. Студент
    • Регистрация: 13.06.2012
    • Сообщений: 58
    • Репутация: 4
    1. Вариант, описанный Bukmeker самый приемлемый.
    Например, категория "films" мы делаем запрос к `groups` и получаем `groups`.`id` (например, переменная, $groups_id)
    Далее следующий запрос мы делаем к `articles` и `articles_connection`
    SELECT * FROM `articles` where `id` in (select `articles_id` from `articles_connection` where `articles_connection`.`groups_id`=$groups_id) limit 15
    • 0
Страница 3 из 3 Первая 123

Похожие темы

Темы Раздел Ответов Последний пост
Алгоритм грабера
Web программирование 12 08.05.2012 17:22
Дубли разделов, удаление из индекса
Вопросы от новичков 2 21.01.2012 17:23
Рекомендации по оптимизации разделов сайта
Дайджест блогосферы 0 10.04.2011 19:27
Как работает алгоритм АГС
Дайджест блогосферы 0 24.04.2010 14:08

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры