Background Image
조회 수 13905 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

게시판 응용의 경우 해당 게시물에 대해 조회할 때 마다 조회수를 업데이트 시켜주고, 조회수를 역순 정렬하여 조회수가 높은 게시물부터 보여 주는 경우가 있다.

이러한 경우 게시물 수가 많으면 많을 수록 조회수 컬럼으로 정렬하기 위한 비용이 크게 발생하여 좋은 성능을 기대하기 어렵다.

이때 조회수 컬럼에 인덱스를 걸어 주면 이미 정렬된 인덱스에 대한 스캔으로 인해 전체 데이터에 대한 정렬작업이 생략되어 빠른 처리 결과를 나타낸다.

하지만 조회수 컬럼의 경우 빈번하게 업데이트가 발생함에 따라 Lock을 잡기위한 경합이 늘어날 가능성이 매우 높다.

이러한 경우 인덱스를 조회수만으로 단일 컬럼 인덱스를 생성하지 않고, unique 또는 unique에 가까운 컬럼을 조회수와 함께 멀티 컬럼 인덱스를 생성하게 되면 lock 경합에 의한 지연이 거의 발생하지 않게 된다.
추가 컬럼은 조회수 컬럼 뒤에 생성하여야 한다.

예제

create table bbs(

seq int primary key,

...

view_cnt int

...

)


create index on bbs(view_cnt desc, seq);

  • ?
    오명환 2017.03.08 00:59

    큐브리드의 인덱스 구조에 대한 설명입니다.

    http://d2.naver.com/helloworld/1043622

    함께 읽어보시면 도움이 될 것 같네요.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
259 운영관리 큐브리드 마스터 소켓 디렉토리 변경방법 정만영 2016.07.05 4218
258 응용개발 Windows 환경에서 JAVA SP 사용 utf-8 한글 깨짐 해결 file 손승일 2016.07.01 4592
257 질의작성 INSTR함수 사용하기 엄기호 2016.06.29 9260
256 질의작성 group_concat(문자열 그룹처리) 함수 사용하기 권호일 2016.06.29 28231
255 질의작성 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기 권호일 2016.05.18 6365
254 운영관리 Invalid XASL tree node content 에러 손승일 2016.04.26 4477
253 질의작성 ORACLE 테이블 및 컬럼 COMMENT 일광등록 스크립트 1 김창휘 2016.04.04 9335
252 응용개발 Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법 file 진우진 2016.03.28 4523
251 CUBRID 매니저 큐브리드 매니저 호스트 접속 시 JDBC 드라이버 찾을 수 없는 오류 해결 1 file 진우진 2016.03.28 6773
250 질의작성 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인 성진 2016.03.21 4178
249 질의작성 Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기 김창휘 2016.03.21 4646
248 질의작성 테이블 리스트 취합 SQL 김창휘 2016.03.19 5522
247 운영관리 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자. 성진 2016.03.01 4815
246 질의작성 테이블 컬럼 변경 및 추가 정만영 2016.02.29 21832
245 마이그레이션 CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기 엄기호 2016.01.28 4558
244 질의작성 FOR UPDATE 정만영 2016.01.27 5990
243 운영관리 'Has been interrupted.' CUBRIDException 발생 주현 2016.01.07 6585
242 질의작성 각 테이블 PK 유무 확인 쿼리문 엄기호 2016.01.01 9009
241 질의작성 ORACLE TRIGGER를 CUBRID TRIGGER로 변환하기 김창휘 2015.12.31 6459
240 응용개발 CUBRID DB에서 critical section 정보 출력하기 file 주현 2015.12.31 4586
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales