Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
06.05.2020, 05:46
|
|||
---|---|---|---|
|
|||
Подгрузка RAND через AJAX |
|||
#18+
Подгружаю через AJAX новости в случайном порядке, как сделать, чтобы при новой подгрузке новости не повторялись? SELECT * FROM news order by RAND() LIMIT $num, 10 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 10:56
|
|||
---|---|---|---|
Подгрузка RAND через AJAX |
|||
#18+
Уточните формулировку: "Вероятность показа показанной новости такая же, как непоказанной" или "вероятность показа новости, показанной за последние N раз/ N часов, гарантированно равна 0"? В первом случае достаточно так: Код: sql 1.
($num смысла не имеет, только вредит производительности) Во втором примерно так: Код: sql 1. 2. 3.
Но обе эти конструкции из-за order by RAND() будут тяжелыми по производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 11:10
|
|||
---|---|---|---|
Подгрузка RAND через AJAX |
|||
#18+
Если новостей достаточно много, но их список обновляется редко, то я бы предложил идти другим путем: Завести отдельное поле random_order_id, проиндексировать его, периодически (раз в сутки, например) апдейтить все активные новости номерами в случайном порядке (неактивным проставлять NULL, тогда их и фильтровать не понадобится), а очередную порцию выдавать так: Код: sql 1.
где вместо prev_random_order_id подставлять самый большой random_order_id из предыдущей выборки. Если в какой-то момент random_order_id превысит количество активных новостей, то сбрасывать его в 0. Показ начнется сначала. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 11:12
|
|||
---|---|---|---|
Подгрузка RAND через AJAX |
|||
#18+
zhenia3003 Подгружаю через AJAX новости в случайном порядке ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 12:44
|
|||
---|---|---|---|
|
|||
Подгрузка RAND через AJAX |
|||
#18+
miksoft, если 100 тыс записей будет, их все проблематично в NO IN хранить ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 12:45
|
|||
---|---|---|---|
|
|||
Подгрузка RAND через AJAX |
|||
#18+
Akina, каждому свое ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 12:49
|
|||
---|---|---|---|
Подгрузка RAND через AJAX |
|||
#18+
zhenia3003 miksoft, если 100 тыс записей будет, их все проблематично в NO IN хранить А посему - уточняйте требования. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.05.2020, 14:44
|
|||
---|---|---|---|
Подгрузка RAND через AJAX |
|||
#18+
zhenia3003 если 100 тыс записей будет, их все проблематично в NO IN хранить ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&mobile=1&tid=1828590]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
others: | 292ms |
total: | 520ms |
0 / 0 |