최근 외래키에 대하여 질문을 받은적이 있다. 실무에서 잘 사용하지 않고 성능적인 이슈가 있다는건 어렴풋이 기억나는데 확신이 서지않아 정확하게 대답을 못한 일이 있었다. 오래되서 기억이 잘 안날수도 있겠지만 정확히 이해하지 않고 이때까지 관성적으로 사용한 기분이라 이번 기회에 제대로 알아봐야겠다. 내 기억 속 외래키.. 학부생 시절 관계형 데이터베이스에 대해 배울때 외래키에 대해서 배웠었고 스키마 설정시 외래키도 지정했었던걸로 기억한다. 근데 막상 실무에 투입되어보니 외래키를 다들 쓰고있지 않았다. 보통 외래키를 사용함으로 인해 데이터 정합성 문제를 해결할수 있고 이로 인해 데이터 신뢰도가 높아질수 있을 것이다. 하지만 실무에선 이 외래키를 사용함으로 인해 얻는 장점보다 단점이 더 많아 보였기 때문에 외래..
db
1. DB 에서 Index 란? 2. Index 의 장점 3. Index 의 단점 4. 효율적인 Index 설정 방법 1. DB 에서 Index 란? 우선 DB 에서 Index 는 DBMS 에서 조회시 탐색 속도를 높이기 위한 기술 이다. 사전에서 단어를 찾을때 찾아보기 쉽도록 일정한 순서로 나열한 목록이라고 생각하면 된다 (색인) Index 없이 데이터를 저장한다면, 데이터는 순차적으로 쌓이고 이러한 구조에서 원하는 데이터를 찾기 위해선 모든 데이터에 대하여 순차탐색(O(n))이 일어난다. 이것을 우린 풀 스캔 (FULL-SCAN) 또는 테이블 스캔(TABLE-SCAN) 이라고 부른다. 그래서 이 쌓인 데이터들을 좀더 효과적으로 조회 하기 위해 DBMS 는 특정 자료구조를 활용하여 특정 데이터를 쌓아 ..