| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 무지개 토토 인덱스 | 토토 사이트 순위 : 문서 : 9.3 : 인덱스 | 제11장. 인덱스 | PostgreSQL : 문서 : 9.3 : 부분 무지개 토토 | |
색인 열은 단순히 기본 열일 필요는 없습니다. 테이블이지만 테이블에서 계산된 함수 또는 스칼라 표현식일 수 있습니다. 또는 그 이상의 테이블 열. 이 기능은 빠르게 가져오는 데 유용합니다. 계산 결과에 따라 테이블에 액세스합니다.
예를 들어, 대소문자를 구분하지 않는 비교를 수행하는 일반적인 방법은 다음과 같습니다.
사용하려면하위기능:
SELECT * FROM test1 WHERE lower(col1) = '값';
이 쿼리는 색인이 정의된 경우 색인을 사용할 수 있습니다. 의 결과하위(col1)기능:
CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));
만약 우리가 이 색인을 선언한다면고유, 다음과 같은 행이 생성되지 않게 됩니다.col1값은 대소문자만 다릅니다. 행으로col1값은 실제로 동일한. 따라서 표현식의 인덱스를 사용하여 강제할 수 있습니다. 단순 고유로 정의할 수 없는 제약 조건 제약.
또 다른 예로, 다음과 같은 쿼리를 자주 수행하는 경우:
SELECT * FROM people WHERE (first_name || ' ' || last_name) = 'John Smith';
그러면 다음과 같은 색인을 생성하는 것이 가치가 있을 것입니다:
사람에 대한 INDEX people_names 생성((first_name || ' ' || last_name));
의 구문은색인 생성명령 일반적으로 인덱스 표현식 주위에 괄호를 써야 합니다. 두 번째 예에 나와 있습니다. 다음 경우에는 괄호를 생략할 수 있습니다. 표현식은 첫 번째에서와 같이 단지 함수 호출일 뿐입니다. 예.
색인 표현식은 유지 관리 비용이 상대적으로 많이 듭니다. 파생된 표현식은 각 행에 대해 계산되어야 합니다. 삽입 및 업데이트될 때마다. 그러나 지수는 표현은아님이미 저장되었으므로 색인 검색 중에 다시 계산됩니다. 색인에서. 위의 두 예에서 시스템은 쿼리를 다음과 같이 간주합니다. 단지인덱싱된 열 = '상수'그리고 따라서 검색 속도는 다른 단순 인덱스와 동일합니다. 질문. 따라서 표현식의 인덱스는 검색 속도를 높이는 데 유용합니다. 삽입 및 업데이트 속도보다 더 중요합니다.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 고유 인덱스 | 토토 사이트 순위 : 문서 : 9.3 : 인덱스 | 부분 인덱스 |