일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DB
- db버퍼캐시
- 서버
- 친절한 SQL 튜닝
- 클래스
- Oracle
- socket
- 인덱스 튜닝
- 깃허브
- 친절한 sql튜닝
- Swing
- 오라클
- DBA
- 컬렉션프레임워크
- Spring
- 생성자
- Undo
- 클라이언트
- 인스턴스
- 자바
- java
- 카카오코딩테스트
- 상속
- SQLP
- 멀티쓰레드
- SQL
- springboot
- 메소드
- JavaScript
- 백준
- Today
- Total
목록2025/02 (17)
프리 정보 컨텐츠

Undo 세그먼트트랜잭션이 발생시킨 테이블과 인덱스에 대한 변경사항들이 Undo 레코드 단위로 Undo 세그먼트에 기록된다.Redo는 데이터베이스의 변경 사항을 로깅하는 부분Undo는 각 트랜잭션이 가한 변경 사항을 로깅하는 부분Undo1. 일반 세그먼트와 동일하다.Extend 단위로 확장된다.버퍼 캐시에 데이터를 캐싱한다.변경사항을 Redo 로깅한다.2. 트랜잭션 별로 Undo 세그먼트가 할당된다.변경 사항이 Undo 레코드 단위로 기록된다.복수 트랜잭션이 한 Undo 세그먼트를 공유할 수 있다.(트랜잭션 : Undo 세그먼트) = (N : 1)Undo 세그먼트 특징1. 일반 세그먼트와 동일하다.Extend 단위로 확장된다.버퍼 캐시에 데이터를 캐싱한다.변경사항을 Redo 로깅한다.2. 트랜잭션 별로 ..

애드센스 고단가 키워드 블로그에 애드센스 광고를 활용하여 수익을 얻는 블로거분들이라면 애드센스 고단가 키워드를 찾는 것은 아주 중요합니다. 아무리 양이 많은 블로그 포스팅을 해도 애드센스에 고단가 키워드가 아닌 저단가 키워드만 사용한다면 고수익을 기대하기는 어렵습니다...!!간단 요약하자면 고단가 키워드는 광고주가 높은 비용을 지불하는 주제와 관련이 있습니다. (주로 비용이 높은 주제는 금융 쪽 예상합니다..)이러한 고단가 키워드의 주제와 주제속에서도 단가가 높은(광고주가 높은 비용을 지불하는 키워드) 키워드만 찾아서 포스팅한다면 높은 애드센스 수익을 기대할 수 있습니다.어떻게 애드센스 고단가 키워드를 찾을지 모르겠다 하시는 분이면 개인적으로 아래에 있는 웹프로그램인 키워드 시터를 추천드립니다. (사용법..

Redo모든 변경사항을 Redo 로그에 기록하며 데이터베이스를 복구할 때 사용한다.Online Redo 로그Redo 로그 버퍼에 버퍼링된 로그 엔트리를 기록한다.최소 두 개 구성되어 라운드 로빈 로그 스위칭이 발생한다.Archived Redo 로그Online Redo 로그 파일이 재사용 되기 전 다른 위치로 저장되는 백업본이다.미디어 파일 복구시 사용된다.Redo 목적Database RecoveryMedia Fail 발생 후 복구시 Archived Redo 로그를 활용한다.Cached Recovery휘발성의 버퍼 캐시 데이터를 복구하기 위해 Redo 로그를 사용한다.데이터 파일에는 Commit 된 변경 사항만 존재한다.Fast CommitCommit 시 데이터 Block 쓰기 대신 Redo 쓰기를 한다...

7장 SQL 옵티마이저7.1.1 선택도와 카디널리티선택도선택도란 전체 레코드 중에서 조건절에 의해 선택되는 레코드 비율이며 가장 단순한 '=' 조건으로 검색할 때의 선택도를 보면 컬럼 값 종류 개수(NDV) 를 이용해 아래와 같이 구한다.선택도 = 1 / NDV 카디널리티카디널리티란, 전체 레코드 중에서 조건절에 의해 선택되는 레코드 개수이며 아래와 같이 구한다.카디널리티 = 총 로우수 * 선택도 = 총 로우 수 / NDV-- 예를 들어 상품분류 컬럼에 가전, 의류, 식음료, 생활용품 네 개의 값이 존재-- 조건절에 대한 선택도는 25%이며, 전체 레코드가 10만건이면 카디널리티는 2만 5천이다.옵티마이저는 이렇게 카디널리티를 구하고, 그만큼의 데이터를 액세스하는데 드는 비용을 계산해서 테이블 액세스 방..

6장 DML 튜닝6.1.1 DML 성능에 영향을 미치는 요소인덱스무결성 제약조건절서브쿼리Redo 로깅Undo 로깅Lock커밋인덱스와 DML성능테이블에 레코드를 입력하면 인덱스에도 입력해야 한다.인덱스는 정렬된 자료구조이므로 수직적 탐색을 통해 입력할 블록을 찾아야하므로 DML 성능에 미치는 영향도 더 크다.INSERT, DELETE는 테이블에서 레코드를 모두 찾아 삽입, 삭제해 줘야 한다. UPDATE할 때는 변경된 컬럼을 참조하는 인덱스만 찾아서 변경해 주면 된다.간단한 100만개 레코드를 만든 테이블에서 인덱스를 1개 추가 할 때마다 8배가 느려진다. 이를 통해 인덱스 하나라도 줄이면 TPS(Transaction Per Second)는 그만큼 향상된다는 것을 의미한다.무결성 제약과 DML 성능PK, ..

5장 소트 튜닝소트할 대상 집합을 SGA 버퍼캐시를 통해 읽어 Sort Area에서 정렬을 시도한다.Sort Area안에서 정렬을 마무리하는 것이 최적이지만, 양이 많을 때는 Temp 테이블 스페이스에 임시 세그먼트를 만들어 저장한다. Sort Area가 찰 때마다 Temp 영역에 저장해 둔 중간 단계의 집합을 Sort Run 이라고 부르며 정렬된 최종 결과집합을 얻으려면 다시 Merge 해야 한다.소트 연산은 메모리 집약적일 뿐 아니라 CPU 집약적이기도 하여 데이터량이 많으면 I/O 까지 발생하여 쿼리 성능을 좌우하는 중요한 요소이다.부분범위 처리를 불가능하게 함으로써 OLTP 환경에서 애플리케이션 성능을 저하시키는 주요인이 되기도 한다.5.1.2 소트 오퍼레이션Sort AggregateSort Ag..

버퍼 Lock버퍼 Lock 이란?자신이 현재 그 버퍼를 사용 중임을 버퍼 헤더에 Pin을 설정하여 표시하는 것이다.캐쉬된 버퍼 블록을 읽거나 변경하려는 프로세스는 버퍼 헤더로부터 버퍼 Lock을 획득해야 한다.오라클은 Row Level로 Lock을 제공하여 서로 다른 Row를 변경하는 것은 문제가 되지 않는다.하지만 1개의 블록을 동시에 변경하는 것은 안되어 한 명의 사용자 만이 블록을 변경하고 있다는 것을 보장 받아야 하는데 이 때 획득하는 것이 버퍼 Lock이다.버퍼 Lock 상태Share 모드 Lock버퍼 내용을 읽기만 할 때 사용한다.Exclusive 모드 Lock버퍼 내용을 변경할 때 사용한다.버퍼가 Exclusive 모드로 점유되어 있다면 버퍼 헤더의 Lock 대기자 목록에 등록 후 래치를 해..

4장 조인 튜닝4.1.1 NL 조인 기본 메커니즘SELECT E.사원명, C.고객명, C.전화번호FROM 사원 E, 고객 CWHERE E.입사일자 >= '19960101'AND C.관리사원번호 = E.사원번호위 테이블에서 1996년 1월 1일 이후 입사한 사원이 관리하는 고객 데이터를 추출하는 데이터를 만들어 보자.가장 쉽게 생각하는 방법은 사원 테이블로부터 1996년 1월 1일 이후 입사한 사원을 찾은 후, 고객 테이블에서 사원번호가 일치하는 레코드를 찾는 것 이것이 Nested Loop 조인이 사용하는 알고리즘이다.아래 수행 구조를 통해 쉽게 이해할 수 있다.for(i=0; ifor outer in 1..100 loop for inner in 1..100 loop dbms_outpu..