최적 성능을 제외한 기초적인 수준에
필요한 지식들을 나열해 보았읍니다.
■공부해야할것
- DML의 모든 키워드를 이해 (Group by, Having, Order등을 포함)
- 쿼리의 내부 실행순서 이해 ( FROM > WHERE > JOIN...)
- 논리적 조인 타입 이해 (LEFT, RIGHT, INNER, OUTER, APPLY)
- 드라이빙, 드리븐 테이블 개념 이해하기 (JOIN시 입력값이 되는 테이블과 조회할 테이블)
- 필요에 따른 여러 시스템 함수, 커스텀 함수
- 서브쿼리에 대한 이해
■체득해야할것
- 위 목록에 대한 이해로 다양한 비즈니스 로직에서 유의해가며 쿼리 작성 많이 해보기
- 요구사항과 필요한 속성을 정확하게 도출하는 능력
- 본인이 다루는 서비스의 엔티티들과 릴레이션의 이해
■결론
위 내용들이 모두 준비되어 있는 상태에서
그냥 레고블럭 조립하듯 짜면됨
- dc official App
정규화에 대한 지식도 필요할까요
DML 쿼리문을 짜시는 데에는 필요가 없습니다. 설계할때 확장성과 정합성 그리고 성능을 저울질할때 정규화와 역정규화에 대한 이해가 필요합니다. - dc App
없으면 안되는데 있어도 쓸 일은 별로 없음 새로 들어가는 서비스 아닌 이상 있는 DB거의 쓰고 라이브 상태에서는 아예 독립적인 DB 아니면 스키마는 엔간해선 잘 안건드림.. 그리고 MSA 환경에선 정규화 원칙 지키기도 쉽진 않고..
이건 씨발 너무기초자나 - dc App
트랙잭션 격리수준관해서 뽑아오쇼 - dc App
이상하네 이정도 이해하면 쿼리로 찡찡댈수 없는데.. - dc App
프머 4단계 풀고있는데 뭔가 남들보다 어렵게 짜는것같음 - dc App
트랜잭션 아이솔레이션 가기전에 테이블락 로우락 먼저 가는게 나을거 같은데
기초라기보다는 근본이네 ㅋㅋㅋ 이거 못하는 애들이 대부분아닌가 깔짝해놓고 할 줄 아는척만 하지
근데 은근 이 기초 지식들을 이용해서 적합한 쿼리 못짜는 애들 많음.. 그냥 문제가 주어지면 어떻게 풀어나가야할지 모르는 애들이 많음 그냥 개념만알고 응용을 못하는거지 - dc App
그런분들도 대부분 경험 좀 해보면 다들 하실수 있지 않을까요 - dc App
드라이빙 드리븐 알려면 실행계획도 알아야 하는거아님?
RDB 어려워서 nosql로 도망쳤다 - dc App