
05.04.2008, 01:58
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Сообщение от d_x
Из файла:
Из БД (запрос):
PHP код:
select какое_то_поле_со_строкой from какая_то_таблица order by rand() limit 1
ИМХО наркманство... Это впринципе позволительно если таблица не большая, т.к. order by очень даже затратная операция. Представь что у тебя в таблице хотя бы 10-20к записей... И запрос довольно частый? Повесится можно. А если пару миллионов? То то же... Здесь нужен другой подход. Например если первичный ключ (или какое нить уникальное числовое значение) - числовое, то можно рандомно выбирать из этого диапазона (от минимального до максимального). Но опять таки встает проблема удаленных записей, т.е. отсутствия некоторых значений в диапазоне... Но и то десяток таких запросов в поиске существующего значения будут быстрее одного с ордером 
|
|
|