Как выбрать случайную запись из базы MySQL без использования первичного ключа и order by rand()
Первое, что приходит на ум: поиграться с limit, например limit <случайное число>,<размер выборки>
Денормализовывать id в SET в Redis и использовать SRANDMEMBER.