я раньше этим делом занимался. суть там сводится к тому что у меня скрипт php доставал макс и мин id
потом генерил рандомные айди в этом промежутке. например 100. так как могут быть дыры в бд.
а потом просто доставал записи WHERE id IN(6,890,7854, ...)
Не обязательно, можно выбирать рандомные записи, только BY RAND() при этом не использовать.
например такой:
SELECT cat,trans,name FROM `cms_freepages` f JOIN ( SELECT rand() * (SELECT max(id) from `cms_freepages`) AS max_id ) AS m WHERE f.id >= m.max_id ORDER BY f.id ASC LIMIT 20;
ну ну. проверь сначала и тогда узнаешь
мой вариант
SELECT id, title, date, RAND() AS rnd FROM `table` ORDER BY rnd
та не. он быстро коннектится. шустрее опенвпн
там где работает OpenSSL/1.0.2l ето php 7.0
где не работает OpenSSL/1.1.1f php 7.4
а htaccess по-вашему сам знает все города