일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 친절한 SQL
- java
- join
- SQL 튜닝
- spring 게시판 삭제
- 함수
- 식별자
- 객체지향
- SQL튜닝
- 산술 연산자
- 오버라이딩
- 이클립스 설치
- SpringSecurity 로그인
- 반복문
- SpringSecurity 로그아웃
- 배열
- 상속
- 연산자
- 논리 연산자
- SQL
- 스프링시큐리티 로그아웃
- StringBuffer
- @PreAuthorize("isAuthenticated()")
- 객체
- 인텔리제이 Web 애플리케이션
- 오버로딩
- 예약어
- 자바의정석
- 친절한 SQL 튜닝
- 비교 연산자
- Today
- Total
목록전체 글 (171)
gi_dor
🍺 소트 머지 조인 인덱스가 없어서 정렬 한 뒤에 조인한다. 단점 : 대량이라 공간을 많이 차지함 조인 컬럼에 인덱스가 없을 때 대량의 데이터 조인이어서 인덱스가 효과적이지 않을 때 옵티마이저는 NL조인 대신 소트머지 조인 이나 다음절에서 해시 조인을 선택한다 ❗ 해시 조인을 사용 할수 없는 상황에서 대량 데이터를 조인하고자 할떄 유용함 1 - 1 SGA vs PGA PGA : 개인 사용자 private , 정렬필터 SGA : 공통 , 공유 사용자 Temp : Temp라는 테이블 스페이스 🔑 PGA 는 다른 프로세스와 공유하지 않는 독립적인 메모리 공간인데 같은 양의 데이터를 읽더라도 SGA 버퍼캐시에서 읽을 때 보다 훨씬 빠르다. - 따로 Lock 걸지는 않음 1 - 2 기본 메커니즘 1 ) 소트 단계..
JOIN ▶ 연결고리 🍲 NL 조인 조인의 기본은 NL 조인이다 . NL 조인 ▶ 인덱스를 이용한 조인 ❗ NL 조인을 이해 한다면 다른 조인 방식도 쉽게 이해 할수 있다 NL 조인 2개의 테이블을 조인할 때 A 테이블의 각 행에 대해 B 테이블의 모든 행을 중첩반복 검사를 해서 조인 조건을 만족하는 행을 찾는다. 바깥쪽 반복문은 A 테이블의 행들을 돌고, 안쪽 반복문은 B 테이블의 행들을 돈다. 이렇게 반복문을 통해 조인 조건을 만족하는 행들을 찾아 결과를 반환한다. 1 - 1 기본 메커니즘 select e.사원명, c.고객명, c.전화번호 from 사원 e, 고객 c where e.입사일자 >= '19960101' and c.관리사원 번호 = e.사원번호 ; ① 사원 _X1 인덱스에서 입사일자가 보이..
1️⃣ 인덱스 클러스터링 팩터 (Index Clustering Factor) 클러스터링 팩터란? 특정 컬럼을 기준으로 같은 값을 갖는 데이터가 서로 모여있는 정도를 의미 CF가 좋은 컬럼에 생성한 인덱스는 검색 효율이 매우 좋음 1) 좋은 CF의 예 2) 안좋은 CF의 예 CF가 좋은 경우는 매우 드물고 대부분 사진 2번의 경우이다. 2️⃣ 인덱스 손익분기점 인덱스 ROWID를 이용한 테이블 액세스는 고비용 구조이다. 따라서 인덱스는 소량 검색에 유리하다 (일반적으로 5% ~ 20%) 읽어야 할 데이터가 일정량을 넘는 순간, 풀 스캔보다 오히려 느려진다. Index Range Scan이 Table Full Scan보다 느려지는 지점을 "인덱스 손익분기점" 이라고 한다. 3️⃣ 인덱스 컬럼 추가 테이블 액..
1️⃣ 인덱스 구조 및 탐색 1 - 1 미리보는 인덱스 튜닝 인덱스 특징 : 정렬과 위치 데이터를 찾는 2가지 방법 1 ) Full Scan 2 ) Index Scan ◾ 정렬 데이터 ◾ 데이터의 위치 1 - 2 인덱스 튜닝의 두가지 핵심요소 1 ) 인덱스 스캔 과정에서 발생하는 비효율을 줄이기 - 인덱스 스캔 효율화 튜닝 Ex . 시력이 1.0 ~ 1.5인 김튜닝 이라는 학생을 찾을경우 이름과 시력 순으로 정렬 했다면 소량만 스캔하면 되는데 , 시력과 이름 순으로 정렬했다면 많은 양을 스캔 해야한다 2 ) 테이블 액세스 횟수 줄이기 - 랜덤 액세스 최소화 튜닝 인덱스 스캔후 테이블 레코드를 액세스 할 때 랜덤 I/O 방식을 사용 함 ❗ 인덱스의 범위가 중요 하며 , 컬럼의 순서 또한 중요하다 1 - 3..
진정한 튜닝 ❓ 모델링 부터 🔑 SQL 튜닝 : 튜닝 자체는 기술적으로 쉬움 , BUT 업무를 몰라서 어려움. ▶ 기술적 20 % ( 추가 쉽고 , 변경이 어려움 ) ▶ 업무를 몰라서 80 % Statement / Prepared Statement 차이점 Query 재사용 성능과 보완 캐시 사용 여부 1️⃣. SQL 파싱과 최적화 1 - 1. SQL 최적화 SQL 을 실행하기전 최적화 과정 세분화 ◾ SQL 파싱 : 사용자로부터 SQL 전달을 받으면 SQL 파서(Parser)가 파싱을 진행한다 ◽ 파싱 트리 생성 : SQL문을 이루는 개별 구성요소를 분석해서 파싱트리 생성 ◽ Syntax 체크 : 문법적 오류가 없는지 확인 Ex. 순서 , 누락된 키워드 ◽ Semantic 체크 : 의미상 오류가 없는지 ..