개발 Q&A

제목 도서 테이블 구성시 질문 드립니다.
카테고리 DB
글쓴이 신세카이 작성시각 2017/07/11 15:32:28
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 10442   RSS

도서 테이블 구성시 질문 드립니다.

현재 도서 테이블에 20만건 정도 쌓여있는데 

해당 테이블에 도서 소개나 그런 부분이 다 들어있다보니 

1G가 넘습니다.

테이블 때문인지 속도가 느린것 같아여~

테이블 용량이 영향을 끼치나여??

그리고 혹시 mysql random 쓰시는 분들 속도를 빠르게 하기위해서 다른 방법이 있나요??

감사합니다~!!

 다음글 [긴급요청질문] php로 daum에 자동 로그인하는 방... (2)
 이전글 php fatal error 알려준뒤 에러 처리 (2)

댓글

변종원(웅파) / 2017/07/11 15:59:07 / 추천 0
데이터가 많아질수록 당연히 영향을 받습니다. 파티셔닝 고려해보세요
한대승(불의회상) / 2017/07/11 16:53:04 / 추천 0
random을 사용하게 될 경우 index 지정 여부에 상관 없이 테이블 플스캔을 하게 됩니다.
kaido / 2017/07/11 20:59:24 / 추천 0

random 구할때의 셀렉트 절에 필드 적게 하고...  select id from table   이런식...

쿼리 다시 날려서 select * from table where id = ?  이런식으로 2번 쿼리가 차라리 낫습니다.

아니면 random 을 모든 목록 풀스캔 random 보다는 php 로 limit 최소, 최대 값을 랜덤으로 1000 이하 단위로 구하고..

가령 시작값이 1500 이면 최대는 2500 이런식... 으로 해서 row 를 적게 잡고 random 을 거는 방법도 있습니다.

궁극적으로는 파티셔닝이 필요 하지만, 궁여지책으로 속도를 올리는 꼼수는 분명 있습니다.

변종원(웅파) / 2017/07/12 06:01:41 / 추천 0

아. 랜덤이었군요(^^;)

php에서 테이블id 값 범위안의 랜덤값을 가져와서 where in 으로 처리하는 방법도 있습니다. ^^

신세카이 / 2017/07/12 08:38:49 / 추천 0

네~ 답변 감사합니다~!!

테이블을 나눌수 밖에 없긴 한데 물려있는게 많아서 걱정이긴 하네요 ㅎㅎ