|
|
|
Подгрузка 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&gotonew=1&tid=1828590]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
11ms |
get first new msg: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 499ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...