728x90 DB23 [친절한SQL튜닝 요약 정리] 2-1. 인덱스 구조 및 탐색 친절한SQL튜닝 책 요약 정리 1. 미리보는 인덱스 튜닝 (1) 데이터를 찾는 두가지 방법 > 테이블 전체 스캔 인덱스 이용 (2) 인덱스 튜닝의 두 가지 핵심 요소 > 인덱스 스캔 효율화 튜닝 : 인덱스를 적게 스캔 Ex) 1.0 ~ 1.5 의 홍길동들을 찾을경우, 시력정렬 vs 이름 정렬 에서 후자가 효율적 랜덤 액세스 최소화 튜닝 : 스캔한 인덱스를 통해 조회할 테이블의 행 개수 최소화. 더 중요 Ex) 많은 인덱스를 스캔하더라도, 그 중 조건에 부합해 테이블에 접근하는 유효 인덱스가 적은 것 2. 인덱스 구조 - Balanced Tree 구조이다. - 정렬되어 있다. - 첫 노드는 root, 중간 노드들은 branch, 끝 노드는 leaf 라고 한다. - LMC는 값이 없고, 가장 작은 값을 가진.. 2020. 12. 27. [친절한SQL튜닝 요약 정리 ] 1. SQL처리 과정과 I/O 친절한SQL튜닝 책 정리 1. SQL 파싱과 최적화 (1) SQL의 실행과정 > SQL 구문 인식 - SQL 최적화 - 실행 코드 생성 (2) SQL 옵티마이저 > SQL 최적화 과정은 자동차 내비게이션과 흡사하다. 가장 최단길(실행시간이 짧은)을 찾는 과정이다. (3) 옵티마이저 힌트 > SQL 최적화는 항상 최적의 길만 안내하지 않는다. 이럴 때 옵티마이저 힌트를 이용해 경로를 바꿀 수 있다. 2. SQL 공유 및 재사용 (1) 소프트 파싱 vs 하드 파싱 > SQL 최적화를 통해 만든 실행 코드는 재사용할 수 있게 라이브러리 캐시에 저장된다. 소프트 파싱 : 캐시에서 실행코드를 찾아 곧바로 실행 하드 파싱 : 최적화를 진행하여 실행코드 생성 > 하드 파싱에서 최적화는 수십만가지의 경우의 수를 고려하.. 2020. 12. 20. Mybatis XML없이 java로 설정 - @MapperScan 적용, BindingException 에러 mybatis.org/spring/ko/getting-started.html 공식문서를 보고 따라해도 안되서 하루라는 시간을 소비 했다. 아무리 구글링을 해도 나오지 않았고, 결국 해결하고 열받아서 나같은 사람을 위해 공유하고자 글을 쓴다. 내가 헤맨 부분은 @MapperScan 이 정상적으로 동작하지 않는 것이었다. org.apache.ibatis.binding.BindingException: Type interface practice.mybatis.mybatisMapper.MemberMapper is not known to the MapperRegistry. 이런 에러가 계속해서 발생했다. 결론을 말하자면 @Bean public MemberMapper memberMapper() throws Excep.. 2020. 10. 21. [Oracle] 오라클 제약조건 - unique, not null, primary key, check, foreign key - 오라클 11g XE 버전입니다 - 오라클 샘플 계정 HR에 접속한 후 진행했습니다 ( 아래 참고 ) > https://hongdori2.tistory.com/4 1. 제약 조건 : 컬럼에 입력하는 값에 제한을 두는 것입니다 시스템 테이블 user_constraints 에서 제약조건 현황 정보를 알 수 있습니다 2. 제약 종류 - unique : 값 중복 불가 - not null : null 불가 - primary key : unique + not null - check : 사용자 정의 조건식 - foreign key : 지정 테이블의 지정 컬럼에 있는 값만 입력 가능 3. 제약 생성 - foreign key 제외 > 컬럼 데이터타입 constraint 제약조건이름 제약조건종류 - foreign key.. 2020. 6. 2. 이전 1 2 3 4 5 6 다음 728x90