Background Image
조회 수 13908 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
219 기타 CUBRID 설치 서버의 OS bit 확인하는 방법과 CUBRID bit 확인 방법. file seongjoon 2009.12.15 18962
218 응용개발 CUBRID 에서 제공하는 ODBC 함수 목록 admin 2008.11.21 26052
217 운영관리 CUBRID 에서의 사용자 권한관리 방법 file cubebridge 2012.04.14 23658
216 질의작성 CUBRID 예약어 사용방법 정만영 2009.12.09 17183
215 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 2804
214 운영관리 CUBRID 쿼리 수행 중단 시 주의 사항 cubebridge 2010.03.04 16429
213 마이그레이션 CUBRID 하위버젼에서 CUBRID2008로의 업그레이드 방법 1 남재우 2008.12.06 30154
212 응용개발 CUBRID-PHP-Driver 연동가이드 file cubebridge 2012.11.13 17136
211 응용개발 CUBRID2008 Java Stored Procedure 등록 방법 cubebridge 2010.02.24 19564
210 운영관리 CUBRID2008 파티션 테이블 삭제 시 인덱스 drop 안 되는 현상 예시 cubebridge 2009.12.12 18491
209 CUBRID 매니저 CUBRIDManager의 접속 정보 이관 file cubebridge 2012.04.14 12383
208 마이그레이션 CUBRID는 MySQL의 varchar(255)와 동일한 길이가 아닌가요? 손승일 2009.12.28 27791
207 질의작성 CUBRID설치 후 default설정 상태에서 Query Plan보기(CSQL모드) cubebridge 2009.12.31 16507
206 응용개발 CUBRID에서 CHAR와 NCHAR의 차이점 cubebridge 2010.07.01 21320
205 CUBRID 매니저 CUBRID에서 OID 확인하는 방법 file seongjoon 2010.01.02 16308
204 응용개발 CUBRID에서 SQL힌트와 주석을 쓸 때 순서. cubebridge 2012.01.11 13329
203 응용개발 CUBRID에서 euc-kr의 한글 데이터를 utf-8의 한글 데이터로 변경 시 주의할 점 cubebridge 2010.04.01 22407
202 응용개발 CUBRID에서 systimestamp, sysdatetime default값에 대한 정의 cubebridge 2009.12.16 28268
201 질의작성 CUBRID에서 대소문자 관리 남재우 2010.01.30 19510
200 운영관리 CUBRID에서 데이터가 있는 칼럼의 도메인 변경 시 조치방법 cubebridge 2009.11.16 12409
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