본문 바로가기

Database/Postgresql

(3)
Index가 무엇인가? 그리고 장 단점 정리 두꺼운 책 맨 뒤(혹은 앞)에 있는 '색인' 이 이거라고 보면 된다. 뭐 예를들어 자바스크립트 책을 공부하는데 갑자기 함수를 공부하고 싶으면 색인(index)를 찾으면 된다. 1장 변수 12p 1.1 var의 정의 1.2 let의 정의.. 2장 함수 25p 2.1 함수 정의와 선언 2.2 콜백함수 미리 색인을 설정해 놓으면 25p로 바로 갈수 있는 원리와 비슷하다 또 다른 비유를 들자면, 도로 표지판이라고 보면 된다 내가 원하는 데이터를 찾기위해 떠나는 여정(?)이라고 할까? '저 서울에서 부산 가려고 하는데 어떻게 가요?' '아 일로 가면 대전으로 가고요, 대전에서 대구 가고요, 대구에서 부산가면 됩니다' 먼저, 우리가 어떤 정보를 조회하는 쿼리를 작성하면 내부적으로 한줄 한줄 조회하여 (full ta..
Postgresql 내부 살펴보기 내 DB는 어떻게 저장되는가? Mysql등을 쓰면서도 한번도 생각 안해본 주제이다. 어떻게 동작하는지 알면 최적화도 쉽게 할거라는 생각에서 이걸 공부하게 되었다. 먼저 포스트그레스가 설치된 폴더에서, data폴더에 base라는 폴더가 또 있다. 거기 들어가보면 왠 숫자들이 있고, 이것의 정체는 다음과 같다 우리가 만들었던 폴더들이 아래에 보인다. templete폴더는 어... 일종의 복사본 같은건데 이건 나중에 또 설명할 기회가 있으니 우선 패스. 그럼 내가 만들었던 instagram_clone폴더에 가면 8kb 단위의 수많은 파일들이 있다. 이게 바로 우리가 저장한 데이터 들인데... heap 파일이라고 부른다. 파일을 뜯어보면 users 테이블의 정보나 hashtag id, primary key, 그..
Instagram DB practice(1) (유데미 stephen grider 강사의 sql, postgresql 강의를 참고했습니다) DB 설계 자체는 그렇게 어렵지 않았다. 이전에도 미니프로젝트 등에서 몇번 해 봤기 때문에... (그런데 웃긴건 ORM을 몇번 썼다고 SQL을 다 까먹었더라... 그래서 지금 더 SQL쪽을 하고 있다) 사실 Instagram 전부를 했다기 보다는 그냥 포스팅, 유저정보 정도? 우선 내가 짜보고 강의를 통해 확인했는데, 두세가지 정도 알게된 사실이 있다. 1. created_at 과 updated_at 둘다 쓰지 않을때도 많다! - 사실 내가 DB 설계할때는 거의 이 두가지(생성날자, 업뎃날자)는 쌍으로 붙어 다녔는데 updated_at은 '좋아요' 기능 혹은 '해쉬태그' 기능에는 필요가 없다. 왜냐. 좋아요는 업..