2009-08-20 3 views
1

약 700 만 행의 테이블이 있습니다. 내가 검색 속도를 이름 열에 대한 인덱스를 설정하려는varchar 필드에 인덱스를 설정하면 어떤 영향이 있습니까?

ID - int (Primary Key) 
Name - Varchar(250) Null 
... 

: 스키마는 같은 것입니다. 예 :

Select * from table where name = 'ABC' 

하지만 varchar 필드에서 색인을 설정하면 어떤 영향이 있습니까? 색인 크기? 속도 이점은 단점보다 중요합니까?

답변

1

이 필드를 자주 검색해야하는 경우에는 아무런 문제가 없습니다. 인덱스가 필요합니다. 삽입 속도가 약간 느려지고 하드 드라이브에서 여러 MB가 손실되지만이 필드에서 값을 검색 할 때 제외 할 조회 시간과 비교하면 아무 것도 아닙니다.

+0

부차적 인 질문 : 검색에서이 색인의 혜택을 볼 수 있습니까? 예 : '% abc %'와 같은 이름의 테이블을 선택하십시오. –

+0

"abc %"검색에 도움이 될 것입니다. "% abc %"에 대한 영향은 미미합니다. 응용 프로그램에서 일반적인 시나리오 인 경우 (테이블이 크거나 필드가 큰 경우) 간단한 인덱싱 대신 "전체 텍스트 검색"을 사용할 수 있습니다. –

관련 문제