DB안에 만들어진 table에서 검색과 조회를 할때 그냥 일반적인 SELECT 구문으로 하는 것과 index를 만들어 하는 것에는 어떤 차이가 있을까요. 위에서는 테이블 자체를 SELECT로 검색하여 결과가 출력이 되었는데 그러고 나서 Execution Plan을 보니 테이블 전체를 스캔했다고 도식화되어 있습니다. 이번에는 index를 별도로 생성해 똑같이 해봅니다. Query cost 차이가 현격하게 줄었습니다. 즉, 속도가 빨라져 효율이 좋아졌습니다.
우선 리눅스 bash 스크립트에서 연관 배열(associative array) 사용에 대한 기본적인 내용도 이전 게시물을 참고하자. 여기로 배열을 정의해서 사용할 때 배열의 인덱스(index) 또는 키(key)를 확인해야 할 경우가 있다. 일반적인 배열은 인덱스를 수자로 사용하므로 굳이 인덱스를 별도로 확인할 일이 별로 없겠지만, 문자열을 인덱스/키로 사용하는 연관 배열의 경우에는 좀 다를 수 있다. 아래의 예시를 보자. # 변수 arr_x를 연관 배열로 선언 declare -A arr_x # 값 할당 arr_x[abc]=10 arr_x[def]=5 arr_x[xyz]=0 # 인덱스 abc에 저장된 내용 출력 echo "${arr_x[abc]}" 10 배열의 인덱스