[튜닝일지] 6. 너와 나의 연결고리, Mapping 테이블 [백엔드 개발자의 쿼리 튜닝일지]
·
◈ Refactoring/쿼리 튜닝일지🔧
6. 너와 나의 연결고리, Mapping 테이블 이번에는 매핑 테이블에 대한 공부와 고찰을 남겨본다. 1) 매핑 테이블이란? 다대다 관계(N:M)를 이어주는 중간 테이블 2) 사용 이유 매핑 테이블을 사용하는 것이 성능적으로 더 좋은 이유는 다음과 같다. * 예시로는 게시글 테이블, 태그 테이블 그리고 그 두 테이블을 잇는 매핑 테이블이다. 다대다 관계 처리 : 게시글과 태그 간의 관계는 다대다 관계이다. 한 게시글은 여러 개의 태그를 가질 수 있고, 한 태그는 여러 개의 게시글에 속할 수 있다. 이러한 다대다 관계를 효과적으로 처리하려면 매핑 테이블이 필요하다. 인덱스 적용 : 매핑 테이블을 사용하면 게시글과 태그 간의 관계를 효율적으로 검색할 수 있다. 각각의 게시글 및 태그 ID를 키로 사용하여 인..
[튜닝일지] 4. 숫자 ID vs 텍스트 ID [백엔드 개발자의 쿼리 튜닝일지]
·
◈ Refactoring/쿼리 튜닝일지🔧
4. 숫자 ID vs 텍스트 ID사이드 프로젝트를 준비하면서 고민한 ID 타입에 대한 공부와 고찰을 남겨보려 한다.1) 숫자 ID [ ex) 3451832 ]- 장점숫자는 일반적으로 텍스트보다 작은 공간을 차지하기 때문에 인덱스 생성 및 검색이 빠르다.데이터베이스에서 숫자 인덱스를 사용하면 메모리 사용량을 줄일 수 있다.자동 증가(Auto-increment)와 같은 기능을 이용하여 쉽게 새로운 ID를 생성할 수 있다.- 단점가독성이 떨어질 수 있다. 숫자 ID는 사용자에게 의미 있는 정보를 전달하지 않는다.데이터베이스에서 무작위로 할당된 ID를 사용할 경우, 보안상의 문제가 발생할 수 있다.2) 텍스트 ID [ ex) user123 ]- 장점가독성이 좋다. 텍스트 ID는 해당 사용자를 직관적으로 나타낸다..