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