DA 9

[DA/튜닝] PostgreSQL 튜닝 관련 Parameter

PostgreSQL (v.10.15) 파라미터 # 쿼리 플랜 방법 설정 변수 - enable_bitmapscan (Default : on) 쿼리 플래너의 bitmap-scan plan types 사용을 활성화 또는 비활성화한다. - enable_gathermerge (Default : on) 쿼리 플래너의 gather merge plan types 사용을 활성화 또는 비활성화한다. - enable_hashagg (Default : on) 쿼리 플래너의 hashed aggregation plan types 사용을 활성화 또는 비활성화한다. - enable_hashjoin (Default : on) 쿼리 플래너의 hash-join plan types 사용을 활성화 또는 비활성화한다. - enable_inde..

DA/튜닝 2021.01.08

[DA/튜닝] MySQL & MariaDB 튜닝 관련 Parameter

MariaDB Parameter   - query_cache_type (Default : 0)      쿼리 캐싱을 사용할지 결정하는 파라미터      // 0 : OFF, 1 : ON (SQL_NO_CACHE 힌트 제외), 2 : DEMAND (SQL_CACHE 힌트 적용 쿼리만)  MySQL Parameter   - innodb_adaptive_hash_index (Default : ON) [v.5.5이상]      사용빈도가 높은 데이터를 내부적으로 판단하여 b-tree 인덱스를 adaptive hash index로 바꿔 사용      adaptive hash index로 바뀌면 b-tree 인덱스를 사용할 때보다 mutex 경합 시간을 단축시켜 좋은 성능      을 보장함. 이에 따른 부작용도 ..

DA/튜닝 2020.08.25

[DA/모델링] 관계형 데이터 모델링 노트 (저자 : 김기창) 3장 요약

3장 통합화와 서브타입 요약 https://docs.google.com/document/d/1kDvWyhxIV_G9Ytuyb-Db56_8l285lbBiKVpPna7ph2w/edit?usp=sharing 데이터 모델링 노트_3장 요약 데이터 통합과 서브타입 이야기 3.2. 일반화와 상세화 // docs.google.com Question. 마이그레이션 하는데 문제될 구체적인 예시 필요. Question. 실제 물리 설계 때 참조 무결성 제약을 표현 하지 않는 추세인지? Question. 실제 프로젝트 중 물리 모델로 변환하여 성능이나 관리측면에서 이슈가 있었던 사례

DA 2019.10.27

[DA/모델링] 파티(Party) 데이터 모델링

//dbguide net에서 참고하여 작성하였습니다.*UDM 패턴에서 가장 중요하고 공통적으로 사용되는 것이 파티(Party) 데이터 모델이다. # 파티 데이터 모델의 기본 개념     >과거에 별도로 관리하던 개인 고객과 기업고객, 내부 직업, 협력사를 통합하여 Party라는 단일 identitiy로 통합하는 것을 말한다. 자세한 내용 : http://www.dbguide.net/knowledge.db?cmd=view&boardConfigUid=19&boardUid=169239 데이터 전문가 지식포털 DBGuide.net◎ 연재기사 ◎ ▷ 데이터 모델링, 기초 과학과 인문학이 필요한 시간 ▶ 본질과 인식의 차이로 본 데이터 모델링 방법론의 실체 황철현의 데이터 모델링 (2회) 본질과 인식의 차이로 본 ..

DA/모델링 2019.10.22

[DA/튜닝] Oracle 튜닝 관련 Parameter

ORACLE PARAMETER// ※ Parameter는 Hint보다 우선권이 낮음. # Index 제어   - OPTIMIZER_INDEX_CACHING (Default : 0)      Index가 메모리에 캐싱되어 있을 확률을 의미. 80 ~ 95가 적당.   - OPTIMIZER_INDEX_COST_ADJ (Default : 100)      Index Cost를 조정하는 역할을 함. 즉, 값을 50으로 바꾸게 되면 Index Cost를 1/2로 감소시킴.      그만큼 Index Scan이 선택될 확률을 높임. 5 ~ 10이 적당. # CBQT(Cost Based Query Transformation) 제어   - _OPTIMIZER_COST_BASED_TRANSFORMATION (Defaul..

DA/튜닝 2019.08.21

[DA/튜닝] 다중행 결과 값을 단일행으로 변환 (listagg)

ORACLE// 11gR2 이상 버전에서는 listagg 함수를 쓰면 편하게 표현가능. // 11gR2에서 해당 함수를 쓰면 plan은 볼 수 없는 듯함. select a.table_name, a.index_name, listagg(b.column_name,', ') within group (order by b.column_name) as columns from user_indexes a, user_ind_columns b where a.table_name = b.table_name and a.index_name = b.index_name and a.table_name = '[테이블 명]' group by a.table_name,a.index_name; // 11gR2 이전에서는 아래와 같은 방식을 사용..

DA/튜닝 2019.07.15

[DA] Static SQL 과 Dynamic SQL

많은 이들이 Static SQL 과 Dynamic SQL을 혼동하여 지칭해서 'SQL 전문가 가이드' 책의 내용을 빌어 글을 작성해봅니다. - Static SQL Static SQL은 String 변수에 담지 않고 코드 사이에 직접 기술한 SQL문을 말합니다. 위 캡처 사진과 같이 변수에 담지 않고 바로 실행했을 때의 SQL을 의미합니다. 많은 트랜잭션이 몰리는 증권이나 금융 쪽 DB에서는 Static SQL로 작성한다고 합니다. '친절한 SQL 튜닝' 이나 '오라클 성능 고도화 원리 2'에서 옵션 조건을 중요시 다루는 이유가 바로 여기에 있다고 볼 수 있습니다. - 조시형 강사님曰 - Dynamic SQL Dynamic SQL은 String 변수에 담아서 기술하는 SQL문을 말합니다. 즉, Applic..

DA/튜닝 2019.06.07