[ORACLE]INDEX 내부에 상수를 넣는 이유문의 0 4 157

by 양배추귀신 [2020.10.16 18:36:42]


안녕하세요

오라클 인덱스 내부에 컬럼의 명이아닌 숫자를 넣는 이유는 숫자로 인덱스를 태우기 위함일까요?

이렇게 구성하는 이유는 무엇인지 경험이 있으신분있으신가요.

create index idx on t (a,1,b);

create index idx2 on t2(0, a);

 

by 양배추귀신 [2020.10.16 18:38:01]

구글링을 해도 저런 스타일의 인덱스를 찾을수가없어서 ...


by pajama [2020.10.16 19:20:14]

오라클은 인덱스에서 지정한 모든 컬럼이 null인 row에 대해서는 인덱싱을 하지 않는다고 하네요. 인덱스의 모든 컬럼이 null인 경우도 full scan을 하지 않도록 상수값을 넣는 튜닝 방법? 인 것 같습니다.

 

oracle.com의 설명

... Oracle Database does not store in the index any rows where all the keys are NULL. 

 

https://richardfoote.wordpress.com/category/indexing-nulls/

https://use-the-index-luke.com/sql/where-clause/null/index

https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5010.htm


by 타락천사 [2020.10.17 21:25:48]

오 좋네요.. 인덱스로 NULL 빠르게 찾기


by 우리집아찌 [2020.10.17 22:25:24]

보통 NULL 을 INDEX화 하려면 FBI 이용하지 않나요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입