#acl YoonKyungKoo:read,write All:read

 1. Index-Organized Table 혹은 Index-Only access
  * Database는 narrower index를 wider index를 선호하는 경향이 있다.
  * 하지만, wider index를 사용하면 index only (즉, table access 없이 index 정보만을 사용하여 값을 가져옴)의 효과를 가져오는 경우가 있다. 이 경우에는 명시적으로 wider index를 사용하여 table access를 줄일 수 있도록 한다.
  * 오러클에는 Index-Organized Table을 사용할 수 있다.

 1. Partitioned table
  * Oracle extension
  * range condition (주로 date column 사용)
  * very large table을 위한 방법

 1. Non-Null check
  * IS NOT NULL 은 index를 사용하지 않음. 정말 필요한 경우는 적당한 range 값 비교를 할 수 있다. (index가 걸려 있는 경우)
   * e.g, '''ALL_POSITIVE_COLUMN > -1''', '''DATE_COLUMN > TO_DATE('0001/01/01', 'YYYY/MM/DD')'''

 1. NOT EQUAL check
  * inequality 비교는 index를 사용하지 않음. 정말 필요한 경우는 '''IN (나머지 모든 경우의 값... 물론 많지 않다면...)''' 을 사용!

 1. OR 나 IN 리스트 사용 시 주의할 점
  * discrete한 값에 대해 index를 사용하여 range check를 하나, 그렇지 않은 경우에는 index를 사용하지 못한다. 즉, IS NULL 이 포함된 경우 (IS NOT NULL 도 물론)
   * 즉, 다음 경우는 index를 사용하지 않는다. (DB2는 null을 하나의 값으로 보므로 index를 사용한다.)
    * name = 'ABC' OR name is null