데이터베이스

인덱스에 대한 설명

늘근이 2014. 10. 16. 13:33

oracle rowid는 바로 찾아가서 주소

regDate >= 'dd'MM

이런식으로 되어있을때, 오라클은 regDate를 문자로 바꿔서 비교해서 이럴경우는 인덱스가 없어서 처음부터 다 찾는다.

그래서 우측에 있는 놈들에게 to_date라는 그러한 함수로 바꿔주면 인덱스를 건드리지 않고 굿

또한 이러한 함수는 포맷을 지정해줄수도 있어서 훨씬 낫다.

인덱스가 잡혀있지 않으면 풀스캔을 하기때문에 어차피 소용이 


인덱스라는건, select 로 가면 빠르고 다만 update delete등을 느려질수 있다. 그리고 하드에 조금더 데이터를 쓴다.

조건을 들어가는 컬럼은 성능을 위해서 인덱스를 많이 잡음.. 다만 4%정도 이상을 잔뜩 불러오는 결과라면, 풀스캔이 낫다.

장단점이 있단다.


앞에 %가 있으면 무조건 인덱스를 사용하지 않음.

인덱스는 앞에서부터 찾아가는 그런거임 일종의 목차인데, 앞에 % 나 _ 가 있으면 찾을수가 읍음.


일반적인 걸로는 게시물 검색을 하기가 힘들기 때문에 서치엔진이 따로 필요하기도 하다. 형태소분석등을 통해서 하기도 한다.


참고링크

http://www.zetswing.com/bbs/board.php?bo_table=ORACLE_TIP&wr_id=4&page=3


대용량 데이터베이스 솔루션

'데이터베이스' 카테고리의 다른 글

sql joins 관련 이미지  (0) 2014.10.16
decode 와 case  (0) 2014.10.16
oracle distinct  (0) 2014.09.11
oracle 조인  (0) 2014.09.11
oracle 조인  (0) 2014.09.11