Как стать автором
Обновить
5
0
Олег @CrazyXoma

Пользователь

Отправить сообщение
Не правильно поняли… Нужны рандомные товары… Совсем рандомные. Без топов.
Т.е. список случайных товаров всех магазинов. Но так, чтоб магазины не шли друг за другом
Я уже ответил на этот вопрос выше…
За скорость — честно не смотрел через експлейн… Просто посмотрел, как шторм ответил. + это на локальной машине, а не на сервере.
Неизвестно кол-во магазинов, неизвестно кол-во мест… Т.е. товары идут подряд пока не кончатся.
Но последовательность всегда будет одинакова…
т.е. если товары идут в порядке 1,4,3,5,12,36,51,10,22

То порядок будет всегда такой…
4,3,5 или 3,5,12 или 1,4,3…

Т.е. порядок не перемешивается…
Опять-же, выборка будет довольно статичной.
Согласен, если пронумеровать товары при добавлении, а потом выбирать диапазон — можно получить список товаров, удовлетворяющий условию, по которому магазины не должны повторяться. Но порядок в таком случае поять-же будет всегда одинаковый…
И на счет популярных, и на счет счетчика в таблице я ответил выше.
1. В выборке нужны НЕ популярные товары, а случайные
2. Счетчик в таблице делает выборку статичной, а не случайной.
примерно так-же медленно, но не вернет нужного результата
Случайные товары на главной… Изначально выводятся 20 к примеру. При прокручивании страницы — добавляются еще 20 и т.д…
Получается бесконечный скроллинг из случайных товаров. Причем так, чтоб товары одного магазина не шли подряд.
Ну суть проста — есть N магазинов, есть по M товаров в каждом.

На главной странице выводятся случайные товары.
Но получается так, что если у одного магазина 30 товаров, а у остальных по 5 (грубо говоря), то на главной странице может висеть половина товаров из одного магазина.

Чего и надо избежать.

Т.е. несмотря на кол-во товаров в магазине (1000 или 10) их необходимо вставлять в топ 20 с одинаковой вероятностью.
Опять же — тогда выборка будет всегда одинаковая. Нужны именно случайные товары
Тогда выборка будет всегда одинаковая. Товары будут всегда иметь постоянный порядковый номер и выводиться на одном месте.
А показываться должны случайные товары
Вы просто невероятный извращенец.

Я буду считать это за комплимент =)

А по сути:
Такое впечатление, что у вас там 2-3 магазина, и в каждом по 100 товаров. Т.к. иначе запросы у вас будут выполняться по много секунд, и это просто недопустимо для выполнения во время загрузки страницы.

Я при вел пример, что для 10 магазинов и 10000 товаров запрос выполняется 0.056с.

Скорее всего показывать на главной нужно самые популярные товары, а популярность у вас 100% обсчитывается по крону и пишется в отдельную табличку

Нет, нужны именно все товары в случайном порядке

и не важно на самом деле, что случайно попадет 2-3 товара из всей пачки из 1 магазина

Именно в этом и состояла задача, чтоб не попали 2-3 товара из 1-го магазина

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

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

Ну и в заключении напишу, что это все таки пока теоретические изыскания =)
Спасибо, не подумал=) Подправил заголовок…
К этому и делали симбиоз. Т.к. Shop-Script5 довольно ущербен в плане разработки, а терять уже запущенный сайт на нем не хотелось — решили встроить знакомый и самодостаточный Yii для расширения функционала так сказать)

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность