인덱스 2

MySQL 인덱스(Index) & 파티션Partition & Full-Text Search

1. 인덱스 Select시 빨리 추출 가능(수정, 변경 작업 많은 곳에 쓰면 성능 나빠질 수 있다. ) 종류 : 클러스터형 인덱스(영어사전 같은 것), 보조 인덱스(책뒤 찾아보기 기능 같은 것) 클러스터형 인덱스 : 테이블 당 한 개만 생성, 보조 인덱스는 테이블 당 여러 개 생성 가능 클러스터형 인덱스는 행 데이터를 인덱스로 지정한 열에 맞춰서 자동 정렬 primary key(클러스터형 인덱스)또는 Unique(보조 인덱스)에는 인덱스가 자동으로 생성됨( unique인데 notnull 붙이면 클러스터형 인덱스 됨, pk랑 중복 시 pk가 클러스터형 인덱스가 됨) 클러스터형 인덱스는 루트 페이지와 리프 페이지로 인덱스가 구성되어 있으며 인덱스 페이지의 리프 페이지는 데이터 그 자체이다. 보조 인덱스는 데..

CS/DataBase 2021.08.09

3-2. 분산을 고려한 MySQL 운용

앞서 설명한 바와 같이 분산을 할 때는 데이터 규모에 맞게 탑재 메모리를 조정하고, 메모리 증설로도 대응할 수 없을 경우 분산해야 한다. 앞으로는 DB레이어에서 MySQL운용, 스케일 아웃 전략에 대해 공부해보자 (OS 캐시, 인덱스를 적절하게 설정하기, 확장을 전제로 한 시스템 설계 순으로 공부한다. 1. OS 캐시 활용 전체 데이터 크기에 주의해서 데이터량 < 물리 메모리를 유지해야 한다. 메모리가 부족할 경우에 증설을 하고 스키마 설계가 데이터 크기에 미치는 영향을 고려해야 한다. 그냥 아무 생각 없이 create table로 스키마 설정하면 안 돼. 최소 정수 int형은 32비트 = 4바이트, 문자열은 8비트=1바이트 같은 기본적인 수치는 기억하자. 2. 인덱스의 중요성 MySQL의 인덱스는 기본..