August 01, 2021
사실 DB를 이해하고 사용하는게 아니라, SQL을 알고 사용하고 있다.
마치 API문서만 보고 사용하는 느낌이랄까…
DB에 대한 얕은 지식으로 필요할때 MySQL 인덱스 정리 및 팁 같은 (좋은) 글들을 가끔 읽으며 여럼풋이 그림을 넓혀가고 있었는데…
마침 SQL 튜닝 관련 신간을 보게 되었고 바로 구매해버렸다.
LIKE
문 피하면 되는거 아냐?index
알지! SELECT
때 index
를 이용하면 빠르고 생성/삭제때 할일이 생기니 느려지고!!사실 얼마전에 DBA분께 쿼리에 대해 질문한적이 있었는데, 그게 이 책 구매에 큰 영향을 주지 않았을까 싶다
신간 발견을 좋은 기회로 생각하고 읽어봤다!!
간단한 소개와 구조적, SQL 문법의 차이
DB 엔진 용어 (MySQL 엔진, Parsor, Optimizer, 스토리지 엔진)
SQL 처리 프로세스 소개
DB 오브젝트 관련 용어 소개 (컬럼, 로우, 기본키, 외래키, 인덱스 등)
그 외 논리적 SQL 개념 용어 (서브쿼리, 조인, 드라이빙 테이블, 드리븐 테이블, 중첩 루프 조인 등)
그 외에 테이블 풀스캔, 인덱스 풀 스캔, 랜덤 엑세스 등등을 소개 합니다
EXPLAIN, 실행계획을 소개합니다!
위 절차로 여러가지 예제를 소개해준다! 물런 한번 읽는걸로 크게 바뀌진 않지만
나중에라도 쿼리 작성하다가 떠오르게 될거같은데… 큰 도움될거같다!
그리고 잘 모르던 나에게 나름 신기했던게(?)
SQL 조건 하나를 어떻게 쓰냐에 따라서 엄청난 성능의 차이를 가져오는… 이 성능 차이는 평소에 아무 문제 없다가 급 트래픽이 몰릴때, 엄청난 문제를 만들 수도 있고…
효율적인 Index를 생성해서 개선하거나, 파티션을 생성하거나 하는 등 물리적인 DB 오브젝트를 변경해본다!
서버 개발자는 무엇부터 학습해야할까? - 프레임워크, Git, SQL, Linux
애플리케이션을 잘 만드는 법을 최우선으로 해야함은 맞지만 결국 그 외에 것들도 익혀나가야 한다.