mysql index 관련해서...요 정보
mysql index 관련해서...요본문
wr_good 순으로 뽑으려고하는데요
페이지 맨밑에
run time 0.04초에서
0.45초로 엄청나게뛰더라구요
index를 주면 where 검색에 속도가 빨라지는거 아닌가요?
페이지 맨밑에
run time 0.04초에서
0.45초로 엄청나게뛰더라구요
index를 주면 where 검색에 속도가 빨라지는거 아닌가요?
ALTER TABLE `g4_write_1` ADD INDEX ( `wr_good` )
했는데도 0.45초가 나오더라구요
wr_good 순으로 빨리 정렬하는 방법이 있나요?
$result = sql_query("select * from $tmp_write_table where wr_is_comment = '1' and date_format(wr_datetime, '%Y-%m-%d') between '$startYmd' and '$nowYmd' order by wr_good desc limit 0, 10");
했는데도 0.45초가 나오더라구요
wr_good 순으로 빨리 정렬하는 방법이 있나요?
$result = sql_query("select * from $tmp_write_table where wr_is_comment = '1' and date_format(wr_datetime, '%Y-%m-%d') between '$startYmd' and '$nowYmd' order by wr_good desc limit 0, 10");
댓글 전체
where절에 들어가는 필드에 인덱스를 줍니다.
이미 wr_is_comment가 인덱스에 걸려있으니까 타고 있을꺼구요.
(확실할 수는 없어요. 자료의 분포도나 다른 구문에 의해서 무용지물이 될 수 있으니 explain해보시길)
위의 구문에서는 아마 order by가 영향을 줄 겁니다. 일반적으로 정순정렬이 역순보다 훨씬 빠르니까요.
글목록에서 wr_num 필드를 음수로 주고 정순정렬을 하는게 이런 이유일 겁니다.
참고로 조회수나 추천수는 많은 순으로 정렬하는 경우가 대부분이어서 디비설계할 때 음수를 줍니다.
예를 들어 조회수 100은 디비에 -100으로 입력해서 출력할때는 절대값으로, 그리고 정렬할 때는 asc로...
이미 wr_is_comment가 인덱스에 걸려있으니까 타고 있을꺼구요.
(확실할 수는 없어요. 자료의 분포도나 다른 구문에 의해서 무용지물이 될 수 있으니 explain해보시길)
위의 구문에서는 아마 order by가 영향을 줄 겁니다. 일반적으로 정순정렬이 역순보다 훨씬 빠르니까요.
글목록에서 wr_num 필드를 음수로 주고 정순정렬을 하는게 이런 이유일 겁니다.
참고로 조회수나 추천수는 많은 순으로 정렬하는 경우가 대부분이어서 디비설계할 때 음수를 줍니다.
예를 들어 조회수 100은 디비에 -100으로 입력해서 출력할때는 절대값으로, 그리고 정렬할 때는 asc로...
네 답변 감사합니다^^
index나 옵티마이징, 실행계획 등은 dbms마다 차이가 있으니까(버전별로도 차이가 있음)
mysql.com 사이트에서 확인해보는게 좋을거 같습니다.
http://dev.mysql.com/doc/refman/5.0/en/optimization.html#nolinkhere 참조
mysql.com 사이트에서 확인해보는게 좋을거 같습니다.
http://dev.mysql.com/doc/refman/5.0/en/optimization.html#nolinkhere 참조