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

안녕하세요, 유튜브 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를 설계하는 것부터 성능..
안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. 1. 실습을 원할하게 따라가기 위해 MySQL 8.4 버전을 맞출 것을 권장MySQL은 각 버전마다 최적화의 방법은 다르다.MySQL 공식 문서를 참고할 수 있다.https://dev.mysql.com/doc/refman/8.4/en/optimization.html MySQL :: MySQL 8.4 Reference Manual :: 10 OptimizationMySQL 8.4 Reference Manual / Optimization This chapter explains how to optimize MySQL performance and provides examples. Optimization involves confi..
안녕하세요, 유튜브 SQL 튜닝 강의를 보고 학습한 자료를 남깁니다.감사합니다. #데이터베이스 성능 최적화의 필요성데이터베이스로부터 데이터를 조회해야 하는 일은 굉장히 많다.이렇게 데이터를 조회하는 기능을 포함한 서비스를배포를 하고 운영하기 전까지는 별문제가 딱히 안 생긴다.하지만 이제 사용자들이 늘어나고데이터가 쌓이면 쌓일수록서비스가 갈수록 느려지는 거예요 운영을 해보신 분들이라면 꼭 한번 쯤 만나는 상황입니다. #실무에서 겪을 수 있는 어려움그렇다면 성능이 느려진 부분을 찾아서빨리 개선을 해야되겠죠근데 이제 막상 개선을 하려고 보면은어떻게 개선해야 될지 막막할 겁니다 #실무에서 실제 성능 개선을 할 때하지만 실제 성능 개선을 해보면 딱 체크해야될 부분만 체크하고그 부분 위주로 튜닝하면정말 쉽게 성능 ..
안녕하세요,

안녕하세요, 혼자 공부하는 SQL를 보고 학습한 자료를 남깁니다. 파이썬 GUI 프로그래밍사용자가 윈도우 창을 통해서 편리하게 마우스 클릭으로 MySQL 데이터베이스를 조작하는 방법입니다.그러기 위해서 파이썬에서 제공하는 tkinter라는 라이브러리를 사용해야 합니다.간단하게 윈도우 창을 만들도록 도와주는 라이브러리이다.Tkinter 실습(1)다음과 같이 윈도우 창이 뜨는 것을 확인할 수 있다.Tkinter 실습(2)다음과 같이 GUI 윈도우 창의 title과 크기를 조절할 수 있다.Tkinter 실습(3) Label을 통해서 root인 tkinter에 글자를 입력할 수 있다.또한 font로 글자 크기, 배경색, 글자색을 지정할 수 있다.외우는 것은 아니고, 익히는 것이 좋다.Tkinter 실습(4)다음..

안녕하세요, 혼자 공부하는 SQL를 보고 학습한 자료를 남깁니다. 파이썬과 MySQL 연동사용자가 python 응용 프로그램을 통해서 데이터베이스를 사용할 수 있도록 하는 것이다.연동 프로그래밍간단한 예로 쇼핑몰 데이터베이스를 사용을 하려고 한다.이 안에 간단한 테이블을 만드려고 한다.테이블은 SQL을 통해서 만든다.SQL로 데이터베이스를 생성 완료하였다.주로 이 규정된 형태를 따르고 있다.먼저 import pymysql 명령어를 실행해서 외부 라이브러리를 사용한다.conn 이라는 변수에 pymysql의 connect() 함수를 통해서 데이터베이스를 연동하고 이를 저장하여 conn 변수를 생성한다.그리고 conn 변수의 cursor() 함수를 통해서 cur이라는 커서 변수를 생성한다.그리고 각 커서별로 ..

안녕하세요, 혼자 공부하는 SQL를 보고 학습한 자료는 남깁니다. 파이썬 개발 환경 준비1) 파이썬 설치2) PyMySQL 외부 라이브러리 설치그러면 python과 MySQL이 PyMySQL이라는 라이브러리를 통해서 연동이 되는 것이다.SQL문을 배워야만 사용을 할 수 있었다.하지만 python을 통해서 마우스 클릭이나 간단한 명령어를 통해서 SQL의 명령문을 사용할 수 있게 되는 것이다.예를 들어, 사용자가 회원가입을 하면 간단한 정보만 입력을 하면INSERT문이 만들어지고, MySQL에 입력이 되기 때문에사용자는 SQL을 안 배워도 회원가입을 할 수 있었던 것이다.파이썬 소개C언어에 비해서 훨씬 쉽다.그리고 강력하다.환경이 쉽고 설치도 쉽다.그리고 강력한 외부 라이브러리들을 제공하는데추가 기능이라고 ..

안녕하세요, 혼자 공부하는 SQL를 보고 학습한 자료를 남깁니다. 트리거란자동으로 실행되는 것.INSERT, UPDATE 및 DELETE 시 발생데이터의 삭제를 방지예를 들어, 블랙핑크를 삭제하기 전에 다른 곳에 저장을 하고 지우는 것이다.그런데 업무적으로는 실수할 수도 있다.이럴 때 트리거를 사용하면 된다.테이블에 부착하는 것이다.트리거 실습CREATE TRIGGER 명령어를 통해서 트리거를 생성할 수 있다.AFTER DELETE 명령어를 통해서 삭제후 작동하도록 지정할 수 있다.ON 명령어를 통해서 트리거를 부착한 테이블을 만든다.FOR EACH ROW 명령어를 통해서 각 행마다 적용시킨다.BEGIN과 END 절 안에 트리거 실행시 작동되는 코도들을 살펴본다.DELETE TRIGGER 생성을 완료하였..

안녕하세요, 혼자 공부하는 SQL를 보고 학습한 자료를 남깁니다. 스토어드 함수란스토어드 함수는 우리가 MySQL에서 주로 사용하는 SUM(), CAST(), CONCAT(), CURRENT_DATE() 등을 사용해 봤습니다.사용자가 원하는 함수를 직접 만들어서 사용할 수 있습니다.이렇게 직접 만들어서 사용하는 함수를 스토어드 함수라고 부릅니다.스토어드 프로시저는 입력 매개변수와 출력 매개변수가 있었는데스토어드 함수는 입력 매개변수만 있다.RETURNS 명령어를 통해서 반환형식을 정할 수 있고RETURN 명령어를 통해서 반환값을 반환한다.스토어드 함수의 경우 주로 SELECT [스토어드 함수 이름](); 의 형식으로 주로SELECT문을 통해서 사용을 한다.스토어드 함수의 사용SQL로 스토어드 함수 생성 ..

안녕하세요, 혼자 공부하는 SQL를 보고 학습한 자료를 남깁니다. 스토어드 프로시저란스토어드 프로시저 기본DELIMITER $$END $$DELIMITER ;이렇게 프로시저를 구분을 한다. (##, %%, &&, //) 등을 사용을 하여도 무방하다.CREATE PROCEDURE [스토어드 프로시저 이름]( IN 또는 OUT 매개변수) 부터 END$$ 까지 SQL 프로그래밍 코드를 작성할 수 있다.스토어드 프로시저 이름은 우리가 정할 수 있다. 스토어드 프로시저를 만든 것을 커피 자판기를 만든 것으로 볼 수 있다.실제 실행을 하려면 CALL [스토어드 프로시저 이름](); 명령어를 실행하여프로시저를 호출할 수 있다. 커피 자판기에서 커피를 뽑는 것이다. 그러면 커피 자판기에서 커피를 뽑는 작동을 한다. 스..