TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-05-19 |
제목 | Function-based Index와 Descending Index | ||
---|---|---|---|
SCOPE
----- Standard Edition 에서는 Function-based Index 기능은 10g(10.1.0) 이상 부터 지원이 된다. Oracle8.1.x(8i)에서 새로 제공되는 index 관련 기능 중 Function-based Index와 Descending Index에 대하여 알아본다. 1. Function-Based Index 일반적으로, indexing 되어 있는 column이라고 할지라도 이들을 where조건에서 연산하게 된다면 존재하는 index를 사용할 수 없게 된다. Oracle8.1에서는 where 조건에 자주 사용되는 연산 자체를 이용하여 indexing을 할 수 있도록 함으로써 이를 극복하였다. function-based index는 bitmap index로도 생성할 수 있다. function-based index 를 생성하기 위해서는 다음과 같은 system privilege를 부여해야 한다. GRANT QUERY REWRITE TO 생성방법 CREATE INDEX sales_margin_idx ON sales(revenue - cost) ; 생성된 index를 사용 ALTER SESSION SET QUERY_REWRITE_ENABLED = TRUE ; SELECT ordid FROM sales WHERE (revenue - cost) > 1000 ; ALTER SESSION SET QUERY_REWRITE_ENABLED = FALSE ; 2. Descending Index 7.x, 8.0에서도 index 생성 시 'DESC'라는 syntax가 제공되었다. 그러나 이는 단순히 DB2와의 index creation systax의 호환성을 위해서 제공되는 것이었으며 따라서 실제로 descending으로 index가 생성되는 것은 아니었다. 8.1에서는 실제로 descending으로 index를 생성해 준다. 생성 예 CREATE INDEX sales_city_margin_idx ON emp(city_name ASC, revenue DESC) ; 322 보기 태그: |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |