| 제목 | DB 랜덤 출력 질문좀 하겠습니다. | ||
|---|---|---|---|
| 글쓴이 | 니삼 | 작성시각 | 2012/11/22 16:21:31 | 
|  | |||
| 매번 랜덤으로 뿌려줘야하는 결과가 있습니다. 그래서 where문에 order by rand()를 줬습니다. 쿼리가 좀 길고 서브쿼리, 조인도 좀 있어서 인덱스주고 이것저것 해서 0.01초 짜리 만들어놨는데 랜덤주니까 모든 결과물을 랜덤으로 출력하느랴 엄청나게 느려져서 0.6초까지 떨어집니다 -_-;; 지금데이터가 2000갠대 이게 더 많아지면 많아질수록 느려질탠데 좋은방법 없을까요? | |||
| 다음글 | eclipse에서 open declaration이 안먹... | ||
| 이전글 | 현재 시간을 받아오는 방법? (2) | ||
| 
                                니삼
                                /
                                2012/11/22 16:26:47 /
                                추천
                                0
                             | 
| 
                                헛발이
                                /
                                2012/11/22 16:26:52 /
                                추천
                                0
                             
                                깊게 생각하지 않았지만..... 그냥 한번에 0.01초로 한번만 불러오고 그걸 PHP로 배열에 넣고 배열랜덤으로 하는건 어떤지 .... 아니면 두번 랜덤하게 하는건 어떤지... offset으로 구간을 랜덤으로 정한 다음에 그 구간만 랜덤으로 하면... | 
| 
                                니삼
                                /
                                2012/11/22 16:27:46 /
                                추천
                                0
                             
                                 헛발이// 페이징도 있어서 ㅋㅋ.. 조금 난감합니다 ㅠ-ㅠ..ㅋㅋ | 
| 
                                니삼
                                /
                                2012/11/22 16:28:23 /
                                추천
                                0
                             
                                서브쿼리 4개에 조인3개 걸려있는대 디비 설계를 다시하는게 더 좋을것같내요 ㅠㅠㅋㅋ; | 
| 
                                변종원(웅파)
                                /
                                2012/11/23 10:57:45 /
                                추천
                                0
                             유니크 번호가 있을테니 그걸 먼저 리스트로 가져오고 php 랜덤함수로 그중에서 번호를 가져와서 | 
| 
                                니삼
                                /
                                2012/11/23 11:24:16 /
                                추천
                                0
                             
                                웅파// 감사합니다. 그방법이 속도면에선 가장 빠를것 같습니다 ~ | 
| 
                                니삼
                                /
                                2012/11/29 08:59:12 /
                                추천
                                0
                             
                                 이부분에 해결책을 Real MySQL이라는 책에서 찾았습니다. 비슷한 문제가 있으신분은 저책을 구..입..하세요 ㅋ | 
| 
                                한대승(불의회상)
                                /
                                2012/11/29 09:35:41 /
                                추천
                                0
                             
                                니삼// 요약 발췌 부탁 드립니다. ^^
                             | 
| 
                                니삼
                                /
                                2012/11/29 10:26:58 /
                                추천
                                0
                             
                                불의회상 // 저작권에 걸리지 않게 조심히 정리해서 올려보겠습니다 
                             | 
역시 이 부분은 해결이 불가능 할것 같습니다 ㅋㅋ..
order by rand()가 모든 데이터를 건드려서 어쩔수가 없네요 느리더라도 어쩔수없겠내요
기획을 이렇게 했으니 ㅋㅋ