일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 모델링
- 컴퓨터 구조
- 혼자 공부하는 SQL
- youtube review
- Update
- oracle
- 명령 프롬프트
- 뷰
- 인덱스의 개념과 장단점
- 친절한 SQL 튜닝
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- 이것이 오라클이다
- 클러스터형 인덱스와 보조 인덱스
- 첫 프로그래밍
- 웹 디자인 기능사
- INSERT
- github에 새 리포지토리 추가하기
- delete
- 2025-02-13
- mysql 설치 방법과 정상 작동 확인하기
- gitkraken을 통한 프로젝트 올리기
- 데이터모델링
- sqld
- 운영체제
- 열거형
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- 컴퓨터 활용 능력
- 컴퓨터 활용 능력 1급
- 혼자 공부하는 네트워크
- 리눅스 마스터 2급
- Today
- Total
목록친절한 SQL 튜닝 (12)
코딩 브이로그

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 실습테이블 생성을 하였다.성능 소요시간을 확인해보니 499/ms 정도 된다.created_at 컬럼에 인덱스를 생성하니 소요시간이 167/ms로 단축되었다.type을 통해 인덱스 레인지 스캔이 이루어진 것을 볼 수 있었다.그리고 rows는 1,068 정도 조회된 것을 확인할 수 있다.-> Filter: (users8.department = 'Sales') (cost=1174.84 rows=107) (actual time=4.144..135.122 rows=108 loops=1) -> Index range scan on users8 using idx_created_at, with index condition: (use..

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 최근 3일 이내에 가입한 유저 조회하기테이블 생성 및 더미 데이터 입력위 그림 대로 테이블을 생성하고100만건의 더미 데이터를 입력하였다.의미 있는 데이터를 입력하였다.테스트를 해보겠다.created_at 컬럼에 인덱스 생성 전에는 소요시간이 144/ms이다.그런데 인덱스를 생성하고 조회를 하면30/ms로 조회되는 것을 확인할 수 있다.인덱스 표를 참조해서 특정 범위의 인덱스 값을 활용해서데이터를 조회해 온 것이다.rows 수 또한 기존의 약 100만건에서 1,000건으로 줄어든 것을 볼 수 있다.Full Table Scan 그림테이블의 모든 행을 조회하기 때문에 느릴 수 밖에 없다.INDEX RANGE SCAN 그림INDE..

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 실습데이터를 10000건 조회할시 소요 시간과데이터를 10건 조회할시 소요 시간이 다르다.데이터를 적게 조회했을 때 소요 시간이 더 적다.데이터 조회를 최소한으로 할 필요가 있다.실제 페이스북, 인스타그램의 서비스들도 모든 게시글을 한 번에 불러오지 않는다.스크롤을 내려서 필요한 데이터를 그때 그때 로딩하는 방식이다.또는 페이지네이션을 통해서 일부 데이터만 조회하려고 한다. 정말 감사합니다.https://www.youtube.com/watch?v=WkDMTi3BYzA&list=PLtUgHNmvcs6rJBDOBnkDlmMFkLf-4XVl3&index=14

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. SQL 문의 '실행 계획' 사용해보기옵티마이저는 SQL 요청이 들어오면어떤 방식으로 어떻게 처리할지를 계획해요.실행 계획을 통해서 이를 직접 알아볼 수 있다.SQL 튜닝은 이 계획을 바꾸어주는 것이다. 옵티마이저 실행 계획 확인 방법 실행계획 타입테이블은 PK를 기준으로 인덱스가 형성되어 있기 때문에age 컬럼으로 조건절로 조회를 하면 Full Table Scan을 하게 된다.다음은 INDEX FULL SCAN을 통해서 데이터를 가져온 것이다.FULL TABLE SCAN을 한 방법보다 훨씬 더 빠르게 SELECT가 되는 것을 볼 수 있다.UNIQUE가 아닌 경우라면 해당 컬럼에 데이터가 중복되어서 입력이 된다.그래서 cons..

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 복습한 자료를 남깁니다.감사합니다. 1. PK 인덱스 효과 (클러스터형 인덱스)PRIMARY KEY인 컬럼은 클러스터형 인덱스가 자동으로 생성된다.테이블이 PRIMARY KEY 컬럼을 기준으로 정렬된다.그래서 SELECT시 성능이 빠르다. 2. UNIQUE 인덱스 효과 (보조 인덱스)UNIQUE 컬럼은 보조 인덱스가 생성된다.테이블은 정렬되지 않지만책의 찾아보기와 같은 역할을 수행한다.SELECT 시 성능이 빠르다.클러스터형 인덱스가 더 빠르다.조회하는 페이지가 더 적기 때문이다.users 테이블은 PRIMARY 인덱스만 있고,users2 테이블은 PRIMARY 인덱스와 UNIQUE 인덱스 이렇게 2개가 있다.용량의 차이가 users 테이블은 16Kusers2..

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 인덱스 직접 설정해보기그림에 맞도록 데이터베이스와 users 테이블을 생성해보았다.그리고 더미 데이터를 100만건 생성하였다.유튜버의 코드를 공유한다.재귀 횟수를 100만건 선언한다.그리고 cte라는 임시 테이블을 생성하고 cte 임시 테이블안에 100만건의 데이터를 적재한다.그리고 그 임시 테이블에서 n을 조회해서 id를 만들고, 1부터 1000까지의 랜덤값을 age로 만들어서 조회한다.그리고 그 조회된 데이터들을 users 테이블의 id와 age 컬럼에 맞게 INSERT한다.이렇게 100만건의 더미 데이터를 만들었다.그리고 조회를 한다.나이가 23세인 회원만 조회를 하였는데, 소요시간이 약 345(ms) 정도가 소요된다...

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 인덱스(Index)란?데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조를 뜻한다.데이터를 빨리 찾기 위해 특정 컬럼을 기준으로 미리 정렬해놓은 표 예시를 통해 인덱스의 의미를 직관적으로 이해해보자.만일 데이터가 섞여 있다면, Full Table Scan을 해야 한다.시간이 오래걸릴 수 밖에 없다.그래서 인덱스를 사용해서 해결할 수 있다.미리 정렬되어 있는 시스템 내부적인 표가 있다면쉽게 조회가 가능하다. 정말 감사합니다.https://www.youtube.com/watch?v=VvYh8HBM0A8&list=PLtUgHNmvcs6rJBDOBnkDlmMFkLf-4XVl3&index=6

안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 들어가면서성능 개선을 위해서 MySQL 구조 먼저 파악하겠습니다.그리고 SQL 튜닝의 핵심이 무엇인지 짚고 넘어갈 것이다.-> 어떤 부분에서 MySQL의 성능을 많이 잡아 먹는지, 어떤 요인이 주로 문제를 일으키는지 파악할 수 있어야 한다. MySQL의 아키텍처MySQL이라는 서버가 있고그 안에 MySQL엔진이라는 공간이 있고스토리지 엔진이라는 공간이 있다. 과정을 알아보자.1. 클라이언트가 DB에 SQL 요청을 보낸다.2. MySQL 엔진에서 성능 최적화를 해주는 옵티마이저가 먼저 SQL문을 분석한다. 아 이런 이런 데이터를 가져오는구나 그래서 어떻게 데이터를 가져오면 더 빠르겠다 이렇게 판단을 한 뒤 계획을 세운다.그 계..
안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. DB 성능 방법들의 예시- SQL 튜닝- 캐싱 서버 활용 (Redis 등)- 레플리케이션 (Master/Slave 구조)- 샤딩- 스케일업 (CPU, Memory, SSD 등 하드웨어 업그레이드) SQL 튜닝을 가장 먼저 고려해야 하는 이유1. 추가적인 시스템을 구축해야 한다.SQL 튜닝을 제외한 다른 방법들은 추가적인 시스템을 구축해야 한다.금전적, 시간적 그리고 관리적 비용이 증가한다.단순히 하나의 서버만 아니라 여러 대의 서버를 동시에 관리하고 모니터링하는 것에 있어서 비용이 커진다.근데 그에 비해 SQL 튜닝은 기존의 시스템 변경없이 성능 개선을 할 수 있다. 2. 근본적인 문제를 해결하는 방법이 SQL 튜닝일..
안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. DB의 성능 저하 요인1. 동시 사용자 수의 증가2. 데이터 양의 증가3. 비효율적인 SQL문 작성 DB가 느릴 시 사용자의 서비스 이탈DB 성능이 느려졌다면 서비스를 사용할 때 가장 먼저 체감할 수 있다. 실제 서비스를 사용하다보면 데이터 자체가 늦게 로딩되는 것을 볼 수 있다. 서비스를 사용하는 입장에서 조금만 답답하다고 느껴지면 바로 이탈하게 되고, 사용자 이탈은 회사의 큰 손실로 이어지게 된다.그러다보니 개발자 기술 면접에서 DB 성능 개선시 필요한 기초 개념(인덱스, 실행 계획 등)과 DB 성능 개선 경험을 자주 물어보는 추세이다.최근 많은 IT 서비스 기업의 회사 트렌드는백엔드 개발자는 DB를 설계하는 것부터 성능..