Показать сообщение отдельно

  #5  
Старый 05.04.2008, 01:58
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Цитата:
Сообщение от d_x  
Из файла:

Из БД (запрос):

PHP код:
select какое_то_поле_со_строкой from какая_то_таблица order by rand() limit 1 
ИМХО наркманство... Это впринципе позволительно если таблица не большая, т.к. order by очень даже затратная операция. Представь что у тебя в таблице хотя бы 10-20к записей... И запрос довольно частый? Повесится можно. А если пару миллионов? То то же... Здесь нужен другой подход. Например если первичный ключ (или какое нить уникальное числовое значение) - числовое, то можно рандомно выбирать из этого диапазона (от минимального до максимального). Но опять таки встает проблема удаленных записей, т.е. отсутствия некоторых значений в диапазоне... Но и то десяток таких запросов в поиске существующего значения будут быстрее одного с ордером
 
Ответить с цитированием