mysql index 관련해서...요 > 십년전오늘

십년전오늘

10년전 추억의 책장을 넘기며

mysql index 관련해서...요 정보

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

댓글 전체

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 참조
전체 92
십년전오늘 내용 검색

회원로그인

진행중 포인트경매

  1. 참여3 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT