Search Site
변별력이 떨어지는 index는 insert의 성능을 크게 저하시킵니다.
변별력이 떨어지는 index란? index의 분포가 좋지 않은 것으로 칼럼의 값이 하나의 값으로 몰려있거나 적은 수의 값이 많은 량의 데이터를 차지하는 경우입니다.
테스트현황:
500만건의 데이터를 변별력이 없는 index가 설정되어 있는 경우와 변별이 있는 index가 설정되어 있는 경우로 나줘 TPS와 QPS를 비교한 결과를 바탕으로 설명합니다.
측정수단:
cubrid broker status -b로 TPS,QPS를 확인합니다.
테이블 상태:
1. 테이블에 index 3개가 설정되어 있습니다.
2. PK, UNIQUE, FK 키가 있으며, FK가 참조하고 있는 테이블은 단 하나의 값('0')을 가지고 있습니다.
3. insert문이 수행 될수록 FK칼럼에 값은 계속적으로 '0'이 입력되도록 되어있습니다.
변별력 없는 FK가 있는 상태로 진행(FK는 index이다.)
테스트 시작:
JDBC를 이용하여, insert문 데이터를 500만건이 입력되도록 설정합니다.
초기(REQ 319442)
NAME PID PORT AS JQ REQ
TPS
QPS
LONG-T LONG-Q ERR-Q
=========================================================================
* broker1 13487 33000 50 0 319442
2004
4009
0/60.0 0/60.0 0
* broker1 13487 33000 50 0 321448
2005
3990
0/60.0 0/60.0 0
...
시작 후 중반(REQ 2438861)
NAME PID PORT AS JQ REQ
TPS
QPS
LONG-T LONG-Q ERR-Q
=========================================================================
* broker1 13487 33000 49 0 2438861
619
1237
0/60.0 0/60.0 0
* broker1 13487 33000 49 0 2439473
612
1224
0/60.0 0/60.0 0
...
위의 결과에 따르면 200만건 데이터 입력으로 인하여 최초의 TPS,QPS가 약 1/3수준으로 감소됩니다.
FK제거 후 테스트 진행
초기(REQ 97981)
NAME PID PORT AS JQ REQ
TPS
QPS
LONG-T LONG-Q ERR-Q
=========================================================================
* broker1 14106 33000 50 0 97981
1643
3301
0/60.0 0/60.0 0
* broker1 14106 33000 50 0 100001
2018
4046
0/60.0 0/60.0 0
...
시작 후 중반(REQ 2604250)
NAME PID PORT AS JQ REQ
TPS
QPS
LONG-T LONG-Q ERR-Q
=========================================================================
* broker1 14106 33000 50 0 2604250
1539
3064
0/60.0 0/60.0 0
* broker1 14106 33000 50 0 2605882
1629
3292
0/60.0 0/60.0 0
...
변별력이 떨어지는 FK삭제 후 테스트 결과 TPS, QPS의 미미한 감소는 있으나 큰 차이가 없는 것으로 확인됩니다.
FK도 index로 등록이 되므로 변별력이 떨어지는 FK의 경우 insert성능에 상당한 영향을 주는 것으로 파악됩니다.
따라서, DB생성 시 FK에 해당 하는 값이 변별력이 높지 않다면, FK를 설정하는 것을 지양하고 우회안이나 차선책을 찾는 것이 필요합니다.
Prev
CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점
CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점
2012.09.18
by
cubebridge
CUBRID에서 응용프로그램 쿼리 binding 구문이 있을 경우 plan의 ...
Next
CUBRID에서 응용프로그램 쿼리 binding 구문이 있을 경우 plan의 ...
2009.11.06
by
cubebridge
0
추천
0
비추천
Facebook
Twitter
Google
Pinterest
위로
아래로
댓글로 가기
인쇄
✔
댓글 쓰기
에디터 선택하기
✔
텍스트 모드
✔
에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
로그인
원격지원
CUBRID Developer Guide
CUBRID.org
PRODUCTS
CUBRID
CUBRID Tools
Third Party Solutions
라이선스
Oracle 전환 가이드
레퍼런스
DOWNLOADS
DOCUMENTS
튜토리얼
FAQ & TIP
릴리스
매뉴얼
교육자료
개발자 가이드
자료실
SERVICES & TRAINING
서비스 개요
서비스 상품
서비스 계약 가이드
정기교육
정기교육 신청
FORUM
Q&A
자유게시판
NEWS
공지사항
보도자료
블로그
뉴스레터
언론기사
RECRUITING
COMPANY
회사개요
인사말
브랜드
파트너
연락처 및 약도
Search Site
DOCUMENTS
Home
DOCUMENTS
FAQ & TIP
Home
DOCUMENTS
FAQ & TIP
T
기본글꼴
기본글꼴
✔
나눔고딕
✔
맑은고딕
✔
돋움
✔
✔
뷰어로 보기
응용개발
2009.11.26 03:51
CUBRID에서 제약조건(PK,FK,UNIQUE),index 설정 시 주의 사항
cubebridge
조회 수
18886
추천 수
0
댓글
0
?
단축키
Prev
이전 문서
Next
다음 문서
가
크게
작게
위로
아래로
댓글로 가기
인쇄
?
단축키
Prev
이전 문서
Next
다음 문서
가
크게
작게
위로
아래로
댓글로 가기
인쇄
제목+내용
제목
내용
댓글
닉네임
아이디
태그
검색
전체
운영관리
질의작성
응용개발
마이그레이션
CUBRID 매니저
기타
List
Zine
Gallery
List of Articles
번호
분류
제목
글쓴이
날짜
조회 수
99
질의작성
INSTR함수 사용하기
엄기호
2016.06.29
9266
98
질의작성
INSERT수행 시, 현재날짜,현재시각으로 자동 입력하는 방법
주현
2015.07.08
25217
97
운영관리
HP-ux에서 jvm loading이 실패하는 경우 조치 사항
admin
2008.11.21
22432
96
질의작성
FOR UPDATE
정만영
2016.01.27
5990
95
기타
EVALUATE method 수행시 주의해야 할 점
웁쓰
2009.12.31
12875
94
CUBRID 매니저
Database(db이름) is running is standalone mode 오류가 뜰 경우
시난
2009.04.29
28490
93
질의작성
Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까?
이상신
2015.12.30
4011
92
운영관리
CUBRID제거 절차
janus
2009.12.12
15888
91
기타
CUBRID의OLE DB 드라이버 설치 방법.
seongjoon
2009.08.24
16263
90
응용개발
CUBRID의 날짜형 타입을 java의 날짜형 타입에 할당할 때의 값 비교.
seongjoon
2009.12.16
20422
89
응용개발
CUBRID의 Statement pooling기능
cubebridge
2009.11.06
16944
88
마이그레이션
CUBRID와 Oracle의 NULL과 '' (empty string)의 처리 차이점
1
권호일
2015.12.29
15430
87
응용개발
CUBRID와 Oracle에서의 ''(공백)의 차이 비교
cubebridge
2010.10.01
28584
86
CUBRID 매니저
CUBRID와 CUBRID Web Manager설치, 그리고 XE의설치 및 연동까지
cubebridge
2012.11.13
18099
85
운영관리
CUBRID에서의 출력 메시지 한글로 변경 방법.
seongjoon
2010.03.01
12441
84
운영관리
CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점
cubebridge
2012.09.18
33157
»
응용개발
CUBRID에서 제약조건(PK,FK,UNIQUE),index 설정 시 주의 사항
cubebridge
2009.11.26
18886
82
질의작성
CUBRID에서 응용프로그램 쿼리 binding 구문이 있을 경우 plan의 차이
cubebridge
2009.11.06
15701
81
CUBRID 매니저
CUBRID에서 여러개의 질의 결과 확인하는 방법
seongjoon
2010.01.02
14441
80
운영관리
CUBRID에서 데이터가 있는 칼럼의 도메인 변경 시 조치방법
cubebridge
2009.11.16
12409
Search
검색
제목+내용
제목
내용
댓글
닉네임
아이디
태그
Board Pagination
Prev
1
...
5
6
7
8
9
10
11
12
13
14
Next
/ 14
GO
Contact Cubrid
대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales
Site Map
Products
CUBRID
CUBRID Tools
Third Party Solutions
라이선스
Oracle 전환 가이드
레퍼런스
Downloads
Documents
튜토리얼
FAQ & TIP
릴리스
매뉴얼
교육자료
개발자 가이드
자료실
Services & Training
서비스 개요
서비스 상품
서비스 계약 가이드
정기교육
Forum
Q&A
자유게시판
News
공지사항
보도자료
블로그
뉴스레터
언론기사
Recruiting
Company
회사개요
인사말
브랜드
파트너
연락처 및 약도