더북(TheBook)

Chapter
2
인덱스 설계와 프로그램적 처리


 

 

논리적으로 데이터 모델을 잘 설계했다는 이유만으로 효율적인 SQL을 작성할 수 있다고 여기면 안 된다. 물리적으로도 적절한 방식으로 설계를 구현해야 하며, 그렇지 않으면 SQL로 데이터에서 의미 있는 정보를 효율적으로 추출하기가 어렵다.

테이블에 적절한 인덱스를 만들었는지 여부는 SQL 쿼리가 잘 수행되는지 확인하는 핵심 요소 중 하나다. 이 장은 올바르게 설계된 데이터 모델을 구현할 때 종종 간과하기 쉬운 내용을 이해하는 데 초점을 맞추었다. 테이블과 인덱스 생성은 데이터베이스 관리자(DBA)의 몫이지만, 인덱스 생성은 개발자가 수행하는 것이 최선이다. 데이터베이스 관리자는 스토리지 시스템 구성과 하드웨어 설정에 풍부한 지식이 있다. 그렇지만 인덱스를 적절히 만드는 문제는 수행되는 쿼리와 대상 데이터에 지식이 필요하다. 보통 데이터베이스 관리자나 외부 컨설턴트는 이런 지식을 습득하기가 힘들지만, 애플리케이션 개발자는 쉽게 알 수 있다. 이 장에서는 인덱스의 중요성을 이해하고, 인덱스를 적절히 구현하는 방법을 이해할 것이다.

‘1장. 데이터 모델 설계’에서 다루었듯이 데이터베이스 구현에 직접 관여할 수 있다면, 이 장에서 소개하는 내용을 토대로 여러분이 설계한 모델을 검토한 후 문제점을 찾아 수정할 수 있을 것이다. 데이터 모델 설계에 관여할 수 없다면, 이 장을 학습한 후 데이터베이스를 효율적으로 구축하는 데 필요한 정보를 데이터베이스 관리자에게 제공할 수 있을 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.