2010-03-01 7 views
3

가능한 중복 : 효율적인 다음과 같은 경우에 임의의 결과 세트를 조회하는 방법은 무엇
Alerternative to MySQL Order By Rand()랜덤 행을 어떻게 검색합니까?

:

  • 많은에서 하나의 임의의 행을 선택합니다.
  • 많은 숫자의 임의 행을 n 개 이상 선택하십시오.
  • 임의의 순서로 모든 행을 선택하십시오.

특히 MySQL에 관심이 있지만 다른 것을 시도 할만한 이유가 될 수 있습니다.

(기본 키는 조밀 한 AUTO_INCREMENT의 정수입니다.)

+0

중복 : http://stackoverflow.com/questions/1823306/alerternative-to-mysql-order-by-rand –

답변

2

편집 : OMG 조랑말이 지적했듯이 : This doesn't scale at all. 감사합니다, OMG.

사용해보십시오

ORDER BY RAND() 

그래서 ...

+3

그 잘 확장되지 않습니다 –

+0

@OMG 조랑말 : 아니오, 그렇지 않습니다. 그것은 읽을 수 있으며 임의의 행을 반환합니다. 벤치 마크 결과 (다른 질문의 링크는 죽었습니다)를 보는 데 관심이 있습니다. – jasonbar

+3

Linky : http://www.dasprids.de/blog/2008/06/07/fetch-random-rows-of-mysql-efficiently –

관련 문제