Общие > Базы данных
Выбрать 1 случайную запись.
Alexandr:
--- Цитировать ---колеблется от 0.00 до 0.02 на древнем селероне - разве это так важно.
--- Конец цитаты ---
Ес-но. А если у тя таких запросов будет много?
Нахрена базу нагружать.
Tronyx:
--- Цитировать ---Ес-но. А если у тя таких запросов будет много?
Нахрена базу нагружать.
--- Конец цитаты ---
А что мне делать? Вот мой запрос: "SELECT text FROM anek ORDER BY RAND() LIMIT 10" (так я достаю 10 случайных анекдотов), НО у меня значения id (авто_инкрементное поле) могут содержать "пробелы" и БД большая, думаю около 1500-2000 записей, так что вариант с двумя запросами мне не подходит...
Alexandr:
Если анекдоты удаляешь не часто, то может стоит подумать, как говорит RomikChef, над грубым надругательством, т.е. делать ALTER. Значительно, повысит эффективность, однако, если у тя id\'шник где-нть завязан, напр., голосование, то этот вариант сразу отпадает.
Antoxa:
--- Цитировать ---А что мне делать? Вот мой запрос: "SELECT text FROM anek ORDER BY RAND() LIMIT 10" (так я достаю 10 случайных анекдотов), НО у меня значения id (авто_инкрементное поле) могут содержать "пробелы" и БД большая, думаю около 1500-2000 записей, так что вариант с двумя запросами мне не подходит...
--- Конец цитаты ---
не подходит как раз вариант с твоим _одним_ запросом :)
сделай как говорит Ромик.
AlieN:
ГЫ:
сам сейчас столкнулся с такой проблемой
select .... order by rand() limit 5 по базе в 5 мегов(25000 записей) тупит ужасно
я сделал вот так:
$num=mt_rand(1, mysql_result(mysql_query("SELECT count(*) FROM table"), 0))-5;
$result=mysql_query("select id from table limit $num,5");
Навигация
Перейти к полной версии