리자

게시판 테이블을 분리하여 속도를 높였습니다.


http://tong2.sir.co.kr/bbs/board.php?bo_table=cm_free&sca=&sfl=wr_comment_content&stx=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C+%EC%8A%A4%ED%82%A8&sop=and&page=11&page=1


1. 원글(제목+내용)과 코멘트를 분리하였습니다.
2. FULLTEXT 사용으로 검색 속도를 높였습니다.
3. 구간 검색을 없앴고 전체게시물에서 검색하여 원하는 게시물을 빨리 얻을 수 있습니다.

단점. 제목+내용으로 코멘트를 한번에 검색하지 못합니다.
|

댓글 11개

속도차가 눈에 보입니다.
위의 링크 에러 출력 됩니다...ㅜㅜ

select SQL_NO_CACHE count(distinct wr_parent) as cnt from `g4_write_cm_free.comment` where (1) and match(wr_fulltext) against('+그누보드* +스킨*' in boolean mode)

1146 : Table 'sir.g4_write_cm_free.comment' doesn't exist

error file : /bbs/board.php
아직 검색 속도가 만족할만한 수준이 아닙니다.
여러가지 테스트 중에 있어 에러가 발생할수 있습니다.
자유게시판의 459,972 건을 별도의 키파일에 두글자 이상을 집어 넣은 결과

CREATE TABLE IF NOT EXISTS `g4_write_cm_free.key` (
`wk_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`wr_parent` int(11) NOT NULL,
`wr_num` int(11) NOT NULL,
`wr_reply` varchar(10) NOT NULL,
`wk_key` varchar(30) NOT NULL,
PRIMARY KEY (`wk_id`),
KEY `wk_key` (`wk_key`)
) ENGINE=MyISAM ;

데이터와 인덱스를 합쳐 732.7MB 라는 용량이 추가로 생겼습니다.
빠른 검색 속도를 희망하였으나 결과는 좋지 않았습니다.

행(레코드) 보기 0 - 29 (183,035 합계, 질의 실행시간 0.9045 초)

SELECT SQL_NO_CACHE wr_parent
FROM `g4_write_cm_free.key`
WHERE wk_key LIKE '가%'
ORDER BY wr_num, wr_reply
행(레코드) 보기 0 - 29 (35,060 합계, 질의 실행시간 1.7297 초)

SELECT SQL_NO_CACHE DISTINCT wr_parent
FROM `g4_write_cm_free.comment`
WHERE MATCH (
wr_fulltext
)
AGAINST (
'+가*'
IN boolean
MODE
)
ORDER BY wr_num, wr_reply

위 쿼리는 FULLTEXT 검색시간이 더 늦어 아쉬웠으나...
행(레코드) 보기 0 - 29 (5,371 합계, 질의 실행시간 1.4699 초)
SELECT SQL_NO_CACHE distinct wr_parent FROM `g4_write_cm_free.comment` WHERE match(wr_fulltext) against('그누보드* 스킨*' in boolean mode) order by wr_num, wr_reply;

행(레코드) 보기 0 - 29 (10,020 합계, 질의 실행시간 0.1329 초)
SELECT SQL_NO_CAcHE distinct wr_parent FROM `g4_write_cm_free.key` WHERE wk_key like '그누보드%' or wk_key like '스킨%' order by wr_num, wr_reply

OR 검색의 경우 FULLTEXT 속도가 늦었으나...

별도의 키를 잡은 경우는 AND 검색이 어려운 점이 있어 FULLTEXT 검색을 사용하기로 하였습니다.

4글자를 검색하는 경우는 FULLTEXT 가 약간 더 빨랐으나 우열을 가리기 힘들었습니다.

FULLTEXT 를 사용하는 이유는
별도의 역인덱스 테이블을 잡을 필요가 없으며,
데이터와 인덱스의 용량을 줄이며, AND 검색을 가능하게 하는데 있습니다.
수고하시네요 *^^*
자 이제 빛의 속도를 보여주세요
눈 앞에 보고 계시면서 그런 말씀하시면 ... ㅠㅠ
관리자님.... 수고가 많으시구요...
현재는 테이블을 한개를 쓰는 것으로 아는데..
코멘트 테이블을 따로 분리를 했다니 여러모로 기대가 됩니다.

그러면 분리된 형태의 전혀 다른 새로운 버전이 출시되는 것인지요?
아니면 패치나 업그레이드 형태로 진행이 되는건가요?
패치나 업그레이드 형태가 아니라 SIR에서 사용할 용도입니다.
좋은 결과가 나온다면 차후에 반영이 될수는 있습니다.
그렇지만 당장은 반영이 어렵습니다.
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
15년 전 조회 1,645
15년 전 조회 1,139
15년 전 조회 1,734
15년 전 조회 1,384
15년 전 조회 3,176
15년 전 조회 1,043
15년 전 조회 1,392
15년 전 조회 3,219
15년 전 조회 1,229
15년 전 조회 1,266
15년 전 조회 1,510
15년 전 조회 1,496
15년 전 조회 1,180
15년 전 조회 2,770
15년 전 조회 1,231
15년 전 조회 1,626
15년 전 조회 747
15년 전 조회 1,497
15년 전 조회 1,457
15년 전 조회 1,597
15년 전 조회 3,388
15년 전 조회 981
15년 전 조회 1,258
15년 전 조회 1,321
15년 전 조회 1,822
15년 전 조회 1,755
15년 전 조회 2,773
15년 전 조회 2,174
15년 전 조회 1,712
15년 전 조회 1,935
15년 전 조회 3,510
15년 전 조회 2,145
15년 전 조회 1,661
15년 전 조회 1,749
15년 전 조회 1,454
15년 전 조회 1,323
15년 전 조회 1,286
15년 전 조회 1,665
15년 전 조회 1,239
15년 전 조회 1,632
15년 전 조회 1,356
15년 전 조회 1,182
15년 전 조회 1,435
15년 전 조회 1,567
15년 전 조회 1,295
15년 전 조회 1,798
15년 전 조회 1,588
15년 전 조회 1,835
15년 전 조회 1,547
15년 전 조회 1,441
15년 전 조회 1,531
15년 전 조회 4,012
15년 전 조회 1,339
15년 전 조회 2,527
15년 전 조회 3,987
15년 전 조회 1,951
15년 전 조회 1,888
15년 전 조회 2,579
15년 전 조회 1,762
15년 전 조회 1,764
15년 전 조회 1,995
15년 전 조회 1,435
15년 전 조회 2,291
15년 전 조회 1,803
15년 전 조회 1,435
15년 전 조회 1,575
15년 전 조회 1,344
15년 전 조회 1,826
15년 전 조회 1,220
15년 전 조회 2,404
15년 전 조회 1,433
15년 전 조회 1,230
15년 전 조회 1,681
15년 전 조회 1,696
15년 전 조회 1,621
15년 전 조회 1,787
15년 전 조회 1,424
15년 전 조회 1,396
15년 전 조회 2,027
15년 전 조회 1,541
15년 전 조회 1,184
15년 전 조회 1,363
15년 전 조회 3,438
15년 전 조회 1,535
15년 전 조회 1,198
15년 전 조회 1,283
15년 전 조회 1,063
15년 전 조회 1,149
15년 전 조회 1,614
15년 전 조회 1,317
15년 전 조회 1,144
15년 전 조회 1,418
15년 전 조회 995
15년 전 조회 1,173
15년 전 조회 1,348
15년 전 조회 1,214
15년 전 조회 1,122
15년 전 조회 1,169
15년 전 조회 1,330
15년 전 조회 1,364