profile
Pay it forward
post-thumbnail

5. MySQL SQL 튜닝 4 (인덱스)

1) 인덱스 없이 작은 규모의 데이터를 조회하는 나쁜 SQL 문 (1) 현황분석 사원 테이블 풀 스캔 및 스토리지 엔진에서 가져온 전체 데이터 중 조건절 Extra : Using where 출력 (2) 문제점 1 건의 데이터를 가져오고자 테이블 풀 스캔 방식 비

2022년 1월 13일
·
0개의 댓글
post-thumbnail

4. MySQL SQL 튜닝 3

1) 처음부터 모든 데이터를 가져오는 나쁜 SQL 문 (1) 현황분석 id가 1인 두개 행에 먼저 접근, 사원테이블이 드라이빙 테이블 derived2 테이블이 드리븐 테이블 derived2테이블은 id가 2이고 select_type 항목이 DERIVED로 작성된 세

2022년 1월 12일
·
0개의 댓글
post-thumbnail

4. MySQL SQL 튜닝 2 (조인)

1) 작은 테이블이 먼저 조인에 참여하는 나쁜 SQL 문 (1) 현황분석 부서 테이블에 먼저 접근 후 UI_부서명 인덱스를 활용해 인덱스 풀 스캔 상대적으로 큰 크기의 부서사원매핑 테이블은 I부서번호 인데스로 인덱스 스캔 수행, 이때 rows 항목이 4만건으로 인덱

2022년 1월 10일
·
0개의 댓글
post-thumbnail

3. MySQL SQL 튜닝

1) 기본 키를 변형하는 나쁜 SQL 문 (1) 현황분석 Type항목이 ALL로 테이블 풀 스캔 방식이며, 인덱스를 사용하지 않고 테이블에 바로 접근 사원번호가 PK임에도 SUBSTRING / LENGTH와 같이 가공하여 작성했으므로, 풀 스캔 수행됨 (2) 튜닝

2022년 1월 8일
·
0개의 댓글
post-thumbnail

2. MySQL 실행 계획

1. 실행 계획 수행 1) 기본 실행 계획 (1) 기본 실행 계획 수행 (2) 기본 실행 계획 항목 분석 1) ID - 실행 순서를 표시 조인할 때는 똑같은 ID가 표시된다. ID의 숫자가 작을수록 먼저 수행된 것이고 ID가 같은 값이라면 두 개 테이블의 조인

2022년 1월 3일
·
0개의 댓글
post-thumbnail

MySQL - Locks & Deadlocks

Lock이란?아마존과 같은 다수의 사용자가 접속할때, concurrency를 관리하기 위해서 lock 사용예시) E-commerce 웹사이트첫번째 세션 - 물품 재고를 채우는 E-commerce 판매자두번째 & 세번째 세션 - 물품을 사는 E-commerce 구매자테이

2021년 8월 5일
·
0개의 댓글
post-thumbnail

MySQL - Transaction Isolation Levels

(1) 테이블 생성(2) 테이블 세부 정보(3) 테이블 데이터 삽입(4) 테이블 데이터 업데이트(5) 테이블 데이터 업데이트(6) 테이블 데이터 삭제다수의 세션이 같은 데이터에 수정 or 접근 시 lock 적용(1) autocommit OFF & start transa

2021년 8월 4일
·
0개의 댓글
post-thumbnail

DB 관계형 데이터 모델링

1. Model 어떤 목적을가지고 진짜를 모방한 것. 결국, 좋은 모델이란 목적에 부합하는 모방이다. Data Modeling - 문제를 파악 후 추상화 과정을 거쳐 컴퓨터 환경으로 옮겨 담는 작업 2. Data Modeling의 순서 (1) 업무파악 의뢰자로 부터

2021년 8월 2일
·
0개의 댓글