본문 바로가기

전체 글172

책 '업무에 바로 쓰는 SQL 튜닝` 소개와 정리 📘 업무에 바로 쓰는 SQL 튜닝 - YES24 SQL 튜닝의 기본 원리와 사례로 배우는 상황별 튜닝 방법 SQL 튜닝은 수많은 데이터를 더 빠르고 강력하게 처리하도록 해주는 가장 중요한 기술이다. 하지만 쉽지 않은 내용 때문에 부담감을 갖고 www.yes24.com 주제 MySQL 계열에서 쿼리 튜닝을 수행해야 할 때 알아야 하는 용어들과 메커니즘을 소개한다. 실전에서 발생하는 가벼운 쿼리들과 약간은 복잡한 쿼리들을 활용하여 실제 튜닝 수행 과정을 다룬다. 대상 - MySQL, MariaDB에서 SQL 튜닝 시작하려는 사람, 튜닝 입문서 - DBMS 종류 상관없이 SQL 기초 지식만 있다면 이해할 수도록 설명 - SQL 문 작성 경험이 적더라도 튜닝의 기초 학습 생각 좋은 SQL 문 작성하는 것은 중요하다.. 2022. 5. 15.
MySQL 실행 계획과 결과 컬럼 설명 (MySQL EXPLAIN Output Format) 이 글은 책 Real Mysql 8.0 10장, 업무에 바로 쓰는 SQL 튜닝 3장과 Github repo의 예제, 하단 Reference 참고했습니다. 저작권 문제 발생 시 게시물이 비공개될 수 있습니다. 잘못된 내용이 있다면 편하게 말씀해주세요. 실행 계획(explain)이란? 실행 계획(explain)은 클라이언트가 MySQL 서버에 요청한 SQL문을 어떻게 데이터를 불러올 것인지에 관한 계획, 경로를 의미한다. 실행 계획 정보를 활용하여 SQL 튜닝을 할 수 있다. 단, 실제 수행 순서가 아닌 MySQL의 통계 정보를 기반으로 계산한 예측값이다. 실제값으로 실행 결과를 보려면 옵션을 추가해야한다. 실행 계획 예제 설명 아래에서 살펴볼 예제는 책 업무에 바로 쓰는 SQL 튜닝 3장의 저장소를 참고하.. 2022. 5. 14.
MySQL Server 아키텍처와 스레딩 이 글은 책 Real Mysql 8.0 4장, 업무에 바로 쓰는 SQL 튜닝 2장과 하단 Reference 참고했습니다. 잘못된 내용이 있다면 편하게 말씀해주세요 🙏🏻 간단하게 MySQL Server의 아키텍처와 스레딩을 살펴보고자 한다. MySQL Server 아키텍처 MySQL 서버 아키텍처는 어떻게 되어 있을까? 두 가지 관점(SQL 쿼리 실행했을 때, MySQL 서버 구성요소)으로 살펴보자. 1. SQL 쿼리 실행 구조의 아키텍처 클라이언트가 SELECT * FROM 학생; 쿼리를 실행했다고 가정하자. 해당 SQL 문은 아래와 같은 구조로 실행된다. 파서(parser) : 사용자 요청한 SQL를 쪼개 토큰으로 분리하고 트리 형태의 구조로 만든다. 이때 기본 문법 오류를 확인한다 전처리기(prepr.. 2022. 5. 12.
[프로젝트 회고] 스프링 카페 (Spring, 테스트 코드, 프로젝트 시간 관리) 스프링 카페 (전체 소스코드) 배운 것 Spring, Unit Test, H2 DB, JDBC Template, Heroku 배포 기간 22.02.28 ~ 22.03.18 (15일) 팀원 @쿠킴 Step 1 회원 가입 및 목록 기능 / 1단계 PR Step 2 글 쓰기 기능 구현 / 2단계 PR Step 3 DB에 저장하기 / 3단계 PR Step 4 로그인 구현 / 4단계 PR Reviewer @wheejuni, @Dion, @Roach 스프링 카페 프로젝트는 간단하게 게시글을 작성할 수 있는 웹 애플리케이션이다. 이 프로젝트로 스프링을 처음 시작했다. 당연하게도 프레임워크가 익숙하지 않고 코드에 퀄리티가 높지 않았다. 프레임워크가 제시한 강제성에 맞게 계층을 나눠 개발하니 너무나 색다른 경험이었다. .. 2022. 5. 1.
[일일 회고] 22.04.19~20 - "Mockup API 서버, 기능 요구사항 분석과 개발 기간 결정, 테스트 코드 전도(?)" Mockup API 서버 상황 반찬가게 웹 개발 프로젝트를 시작됐다. 기획서만 주어졌다. API, DB 설계할 시간 없이 프론트, 백엔드 개발이 시작됐다. 문제 API, DB 설계안 없이 시작하다 보니 프론트 개발자는 단순 view, 디자인을 그릴 수 있었지만 비즈니스 로직을 구현할 수 없었다. API 서버가 없기 때문이다. 백엔드 입장에서 당장 API 서버를 제공해주고 싶었지만 API, DB 설계할 시간과 서버 구현할 시간도 필요했다. 해결 Mockup API Sever를 도입하기로 했다. Mockup API는 코딩 없이 비교적 간단하게 만들 수 있었기에 프론트엔드와 함께 설계하며 만들 수 있었다. 백엔드 입장에서 프론트엔드가 원하고 필요한 API 피드백을 빠르게 받을 수 있고, 프론트엔드는 실 AP.. 2022. 4. 20.
코드리뷰에서 자주 사용되는 용어(줄임말) 코드리뷰에서 자주 사용되는 용어 몇 가지지 줄임말입니다. 잘못된 내용이 있거나 추가 사항이 있다면 댓글 부탁드려요!🙏🏻 용어 뜻 예, 용도 CL (changelist) 코드 변경 단위 - 버전 관리 시스템(예 git)에 제출되거나 코드 리뷰 진행중인 독립된 변경 단위 - PR 보낼 때 변경된 코드 LGTM (Looks Good To me) 나에게 좋아 보인다 - Nit: (nitpick) 하찬은 일로 트집잡다 - 코드에 (치명적인) 잘못된점은 없지만 코드 스타일, 들여쓰기 등을 말할 때 쓰임 PTAL(Please Talk Another Look) 다시 한 번 봐주세요 - 리뷰어가 리뷰 하다 중간에 Stop 된 경우, 작성자가 review 해달라고 부탁할 때 사용 SGTM(Sounds Good To Me).. 2022. 4. 18.