📈 Database

    Database INDEX 정리

    실제 사용 방법은 여기를 참조. 인덱스란 도서관에서 도서 찾기 시스템이라고 생각하면 편하다. 도서관에서 책을 찾을 때 고객이 원하는 책을 하나하나 찾는 것보다 도서 찾기 컴퓨터를 이용해서 어느 위치에 있는지 출력하고 찾아가는게 더 빠르다. 인덱스도 특정 테이블에 대한 데이터를 새롭게 정렬시켜 원하는 데이터를 빠르게 찾을 수 있게 도와주는 테이블이라고 보면된다. 인덱스 내부 정렬 방식 이진 탐색 트리(Binary Search Tree)를 사용한다. 짧게 B-Tree, BST 라고도 한다. 내부적으로 컬럼의 값과 물리적 주소를 (key, value)의 한 쌍으로 저장한다. 이진 탐색 트리에 대한 시간 복잡도는 log n(참고)이다. 참고된 글을 보면 나와있지만 짧게 말해서 이진 탐색 트리는 업앤다운 게임을 ..

    프로시저의 CURSOR와 SET NOCOUNT 기능

    BEGIN --'CURSOR를 돌 때 "1행이 변경 되었습니다" 같은 문구를 성능 향상을 위해 보여주지않는다.' SET NOCOUNT ON OPEN CUR --'커서 오픈' - 조회한 쿼리 결과를 한 행씩 처리하기 위해 사용한다. CLOSE CUR DEALLOCATE CUR SET NOCOUNT OFF END 프로시저에서 사용하는 기능들이다. SQL이 집합 단위로 조작하는 것이라면 CURSOR 사용은 행 단위로 처리하기 위한 기능이다. 행 단위로 처리하기 때문에 속도가 느려질 수 밖에 없다. SET NOCOUNT ON을 적어주면 메시징 처리를 보여주지 않아서 성능 향상에 도움이 된다.