개요주니어 백엔드 개발자가 반드시 알아야 할 실무 지식을 읽다가 selectivity 라는 표현을 처음보아서 관련한 내용을 GPT-5와 함께 정리해보았다.왜 이 개념들이 중요한가?실무에서 데이터베이스를 다루다 보면 이런 상황들을 자주 마주하게 된다:인덱스를 만들었는데도 쿼리가 여전히 느린 경우옵티마이저가 예상과 다른 실행 계획을 선택하는 경우사용되지 않는 인덱스가 스토리지만 차지하는 경우이 모든 문제의 뿌리에는 카디널리티(Cardinality)와 선택도(Selectivity)에 대한 이해 부족이 있다. 이 두 개념을 제대로 알면 언제 인덱스를 만들고, 언제 만들지 말아야 하는지 정확히 판단할 수 있다.핵심 개념 이해하기카디널리티 (Cardinality)카디널리티는 컬럼에 존재하는 서로 다른 값(고유값)의..
개요Go 백엔드 2: 설정과 같은 브랜치에서 작업하였으나 데이터베이스 관련은 별도로 정리해두었다. 데이터베이스 마이그레이션과 데이터베이스 관련 라이브러리는 추후 별도로 다룰 예정이다.(참고) Go 백엔드 1: 클린 아키텍처 기본 코드를 누적하고 싶었지만, 오류와 개선 사항이 있어 전면적으로 수정했다. 양해를 구한다.링크GitHub 브랜치: https://github.com/nicewook/gocore/tree/2_config-and-db블로그 링크Go 백엔드 1: 클린 아키텍처 기본Go 백엔드 2: 설정Go 백엔드 3: 데이터베이스 연결설정프로젝트 구조데이터베이스와 관련한 프로젝트의 주요 디렉토리와 파일 구조는 다음과 같다(일부 생략)├── cmd│ └── gocore│ └── main.g..
개요카디널리티(Cardinality)라는 단어를 자주 마주쳤는데 소화가 안되는 단어였다. 이참에 제대로 이해하고 넘어가려 한다. 참고로 이 글의 대부분은 GPT-4의 도움을 받았다(존대말은 GPT-4 복붙)카디널리티란?데이터베이스에서 카디널리티는 크게 두 가지 의미로 쓰인다.데이터베이스 테이블간의 관계데이터베이스 컬럼에 있는 고유한 값의 개수테이블간의 관계한 테이블의 레코드가 다른 테이블의 레코드와 어떤 관계가 있는지를 나타내며 네 가지 경우로 구분할 수 있다. 각각의 관계를 예시와 함께 보자.일대일 (One-to-One) 관계 예시:“사용자(User)" 테이블과 "주소(Address)" 테이블이 있습니다. 각 사용자는 하나의 주소만 가질 수 있고, 각 주소는 하나의 사용자에게만 연결됩니다. 이 경우, ..
- Total
- Today
- Yesterday
- Gin
- 인텔리제이
- agile
- gocore
- backend
- MCP
- golang
- ChatGPT
- Echo
- 영화
- go
- 체호프
- notion
- bun
- OpenAI
- solid
- clean agile
- middleware
- 독서
- 티스토리챌린지
- postgres
- intellij
- 오블완
- 독서후기
- strange
- websocket
- 클린 애자일
- 잡학툰
- API
- github
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |