전체 글177 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. [일일 회고] 22.04.18 - "협업하기, 상황에 맞는 아키텍처와 FE/BE 배포, DB 모델링" 📚 배운 것 쇼핑몰 웹 협업 프로젝트 시작 with FE & BE 이번에는 프론트엔드와 백엔드, 총 4명이 모여 반찬가게 쇼핑몰 웹 애플리케이션 프로젝트를 시작했다. 어색한 분위기를 탈피하고자 웃고 떠들고 힘이 나는 말을 의도적으로 했다. 협업을 위해 그라운드 룰을 정했다. 이젠 함께 룰 정하는 것이 익숙해졌다. 저번 프로젝트에서 클라이언트 개발자가 View 개발에 부담을 느낀다고 했다. View 개발 집중을 도와주기 위해 공통 업무를 백엔드에서 주로 맡았었다. 이번 클라이언트 개발자는 여유가 있어 보였다. 이번엔 모두가 즐겁고 의견을 말할 수 있는 분위기를 만들 수 있겠다는 생각이 들었다. 혼자 하면 10분이면 할 수 있는 일을 굳이(?) 작은 일로 나누었다. 프로젝트에 함께 한다는 유대관계를 쌓는게 .. 2022. 4. 18. 이전 1 ··· 9 10 11 12 13 14 15 ··· 30 다음