DB에 대한 공부를 더욱 진행 해야겠다는 생각으로온라인에서 추천받은 'SQL 레벨업'이라는 책을 선택하게 되었다.(절반 정도 읽었는데 새로운 내용이나 잘 정리된 내용들이 많아서 추천!)DBMS의 전체적인 구조이다.책에 있는 이미지와 가장 유사한 이미지라 가지고 와봤다.
SQL의 격언중에는 다음과 같은 말이 있다고 한다. "조건 분기를 WHERE(HAVING)구로 하는 사람은 초보자다. 잘하는 사람은 SELECT구만으로 조건 분기를 한다"여기에서 조건 분기를 WHERE(HAVING)로 한다는 의미는UNION을 주로 활용하는 것이라고도
RDB를 처음 생각해냈던 Codd라는 사람은 이러한 말을 했다고 한다.관계 조작(SQL)은 관계 전체를 모두 조작의 대상으로 삼는다. 이러한 것의 목적은 반복을 제외하는 것이다.이처럼 초기 설계단계에서부터 SQL은 반복문을 지양하며 만들어진 언어라 한다.그리고 그렇게
SQL 성능을 결정하는 결정적인 요소 중 하나는 JOIN이다.기준이 되는 Data(FROM)를 만드는 과정이기 때문에 Table 스캔이 빈번하게 일어나고관련 Table간의 연결도 만들어야 하기 때문에 많은 자원이 소요된다.조인에 주로 사용되는 알고리즘은 위의 세가지이지
한동안은 DB에 관한 마지막 글이 될 것 같다.DB를 정리하기 전에 INDEX를 빼먹고 가면 뭔가 찜찜해서 짚고 넘어가고자 한다.사실 index에 관해서는 깊이있게 잘 정리된 글들이 이미 존재해서 링크로 대신하는 것이 쓰는 사람의 시간과 읽는 사람의 시간 모두를 아낄