mysql index 관련해서...요

wr_good 순으로 뽑으려고하는데요
페이지 맨밑에

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");
|

댓글 5개

where절에 들어가는 필드에 인덱스를 줍니다.
이미 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 참조
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
16년 전 조회 1,266
16년 전 조회 1,236
16년 전 조회 1,233
16년 전 조회 1,591
16년 전 조회 1,192
16년 전 조회 1,249
16년 전 조회 1,354
16년 전 조회 1,694
16년 전 조회 1,866
16년 전 조회 1,742
16년 전 조회 2,021
16년 전 조회 1,339
16년 전 조회 1,671
16년 전 조회 1,352
16년 전 조회 2,346
16년 전 조회 1,407
16년 전 조회 1,159
16년 전 조회 1,255
16년 전 조회 1,344
16년 전 조회 1,741
16년 전 조회 1,228
16년 전 조회 1,260
16년 전 조회 3,782
16년 전 조회 1,742
16년 전 조회 1,371
16년 전 조회 1,129
16년 전 조회 1,202
16년 전 조회 1,394
16년 전 조회 2,230
16년 전 조회 1,452