랜덤함수는 얼마만큼 공정한가요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

랜덤함수는 얼마만큼 공정한가요? 정보

랜덤함수는 얼마만큼 공정한가요?

본문

게시물의 전체중에 랜덤으로 정보를 가저 올려고 하는데..
 아주 공정하게 랜덤으로 가저 올려고 합니다.

order by rand() limit 1 ";  보통 이렇게 가저 오더군요,,,

근데 저는 랜덤 함수 자체가 얼마나 공정한지도 의심 스럽고,,
혹시... order by rand( '게시물전체의갯수' ) limit 1 로 해주면 좀더 정확해질까요??

사실은 전체 게시물을 새로고침 때마다 순차적으로 하나씩만 호출하고 싶습니다.
랜덤 함수보다 더 좋은 함수가 있나요?

최대한 간단(DB부하없게)하게 하는것이 방향이구요 초당 한번씩 호출할 ㄱㅖ 획이니까요.

감사 합니다...
  • 복사

댓글 전체

mysql 함수에서 rand 함수를 이용 할 시. 전체 게시물에 걸 경우.. 거의 뻗지 내지는, 소식을 한참을 기달려야 하지 않을까... 합니다. 함수라는게 모든게 만능은 아니라고 생각합니다.
 더군다나. 초당 호출 하신다니....으~~~~~

기간을 설정하여. selet 한다음. php rand 함수를 이용하여 썪는 방법이 우선, 좀 더 나을 것 같구요.

아무튼 직접 db의 내용을 직접 rand 하는 방법은 절대~~~~~~~~~~~~~~루, 비추천 합니다.
Note that RAND() in a WHERE clause is re-evaluated every time the WHERE is executed.
RAND() is not meant to be a perfect random generator, but instead is a fast way to generate ad hoc random numbers which is portable between platforms for the same MySQL version.

order by rand()는 생각보다 느리거나 리소스를 많이 잡아먹지는 않는 듯합니다.

조금 튜닝을 한다면

where wr_in in ( select wr_id from TABLE order by rand() limit 10)
정도로 해 보세요. ( mysql 4.1 이상 )
© SIRSOFT
현재 페이지 제일 처음으로