SQL Server 색인 소개

4481 단어 SQLServer인덱스
색인
1.개념:데이터베이스 색인 은 데이터 시트 의 하나 이상 의 열 값 을 정렬 하 는 구조 로 책의 디 렉 터 리 처럼 색인 은 줄 에서 특정 줄 을 빠르게 조회 하 는 능력 을 제공 합 니 다.
2.장단 점:
2.1 장점:1.검색 데이터 의 속 도 를 크게 가속 화 하 는 것 이 색인 을 도입 하 는 주요 원인 이다.
2.유일한 색인 을 만 들 고 데이터베이스 시트 의 모든 줄 데이터 의 유일 성 을 확보 합 니 다.
3.가속 표 와 표 간 의 연결,특히 데이터 의 참고 완전 성 을 실현 하 는 데 특히 의미 가 있다.
4.그룹 과 정렬 자 구 를 사용 하여 데이터 검색 을 할 때 도 사용 시간 을 줄 일 수 있 습 니 다.
2,2 단점:1.색인 은 물리 적 공간 을 차지 하고 색인 을 모 으 는 공간 이 더 크다.
2.색인 을 만 들 고 유지 하 는 데 시간 이 걸 립 니 다.이 시간 은 데이터 양 이 증가 함 에 따라 증가 합 니 다.
3.색인 이 포 함 된 열 데이터 시트 에 기록 을 추가 하거나 수정 할 때 SQL server 는 해당 색인 을 수정 하고 유지 하 며 시스템 의 추가 비용 을 증가 시 켜 처리 속 도 를 낮 춥 니 다.
3.색인 의 분류:
1.저장 구조 에 따라 다음 과 같이 나 눌 수 있다.
a.집합 색인:물리 적 저장 순서 와 색인 순서 가 똑 같 고 상하 2 층 으로 구성 되 며 상층 은 색인 페이지 이 고 하층 은 데이터 페이지 이 며 정렬 방식 만 있 기 때문에 표 마다 하나의 집합 색인 만 만 만 들 수 있 습 니 다.
b.비 집합 색인:저 장 된 데이터 순서 가 일반적으로 표 의 물리 데이터 와 저장 구조 가 다르다 는 것 을 말한다.다음 표를 통 해 우 리 는 다음 과 같이 분석 할 수 있다.
4.567916.2.루트 색인 키 가 유일한 지 여 부 를 판단 할 수 있 습 니 다.여러 필드 의 조합 을 기반 으로 색인 을 만 드 는 조합 색인 입 니 다.2.색인 작업:
1.생 성:(1),원칙:a.표 의 소유자 만 같은 표 에서 색인 을 만 들 수 있 습 니 다.
b.표 마다 하나의 집합 색인 만 만 들 수 있 습 니 다.
c.표 마다 최대 249 개의 비 집합 색인 을 만 들 수 있 습 니 다.
d.자주 조회 하 는 필드 에 색인 을 만 듭 니 다.
e.text,image,bit 데이터 형식의 균열 을 정의 하여 색인 을 만 들 수 없습니다.
f.외부 키 열 에 색인 을 만 들 수 있 습 니 다.홈 키 에 색인 이 있어 야 합 니 다.
g.중복 값 이 많은 열 에 색인 을 만 들 지 마 십시오.
(2)방법:a,SQL server Management Studio 를 사용 하여 색인 을 만 듭 니 다.
b,T-SQL 문장의 create Index 문 구 를 사용 하여 색인 만 들 기
c.Create table 또는 alter Table 문 구 를 표 열 로 메 인 키 제약 이나 유일한 제약 을 정의 할 때 메 인 키 색인 과 유일한 색인 을 자동 으로 생 성 합 니 다.
T-sql 구문 생 성 색인 에 대해 말씀 드 리 겠 습 니 다.
문법:
create relational index create[unique][clustered|nonclustered] index index_name on(cloumn[asc|desc][,……n]) [include (column_name[,……n])] [with([,……n])] [onfilegroup_name] 
설명:1,include(columnname[,...n])집합 색인 이 아 닌 잎 단계 에 추가 할 비 키 열 을 지정 합 니 다.
2,on filegroup_name,지정 한 파일 그룹 에 지정 한 색인 을 만 듭 니 다.
예 를 들 어 course 표 에서'과정 번호'열 에 집합 색인 zindex 를 만 듭 니 다.
use db_student create clustered index zindex on course(    )

2.색인 보기:(1)SQL Server Management Studio 를 사용 하여 색인 정 보 를 봅 니 다.
(2)시스템 저장 프로 세 스 를 이용 하여 색인 정 보 를 조회 하고 SPhelpindex 는 표 의 모든 색인 정 보 를 되 돌려 줍 니 다.
예 를 들 어 코스 표 의 색인 정 보 를 봅 니 다.
use db_student execsp_helpindex course[/code] 


3, :

(1), SQL Server Management Studio

(2), Alter Index

course , ,

use db_student alterindex all on course rebuild with (fillfactor=80,sort_in_tempdb=on,statistics_norecompute=on)

4,색인 삭제:
(1)SQL Server Management Studio 를 사용 하여 색인 삭제
(2),Drop index 문 구 를 사용 하여 색인 삭제
예 를 들 어 코스 표 에서 zindex 색인 삭제
use db_student drop index course.zindex

3.색인 분석 및 유지 보수:
분석:1,쇼 플랜 문장 사용
문법:set showplanall{on|off},set showplan_next{on|off}
예:표 course 의 과정 번호,과정 유형,과정 내용 을 표시 하고 조회 과정 을 표시 합 니 다.
use db_student set showplan_all on select     ,          from course where     ='loving'

2,statistics io 문장 사용
문법:statistics io{on|of}on 과 off 는 각각 표시 와 표시 되 지 않 습 니 다.사용 방법 은 위 와 같 습 니 다.
유지 보수:1,dbcc 쇼 contig 문 구 를 사용 하여 지정 한 표 의 데이터 와 색인 의 파편 정 보 를 표시 합 니 다.표 에 데 이 터 를 대량으로 수정 하거나 추가 한 후에 이 문 구 를 실행 하여 조각 이 있 는 지 확인 해 야 합 니 다.
문법:dbcc showcontig[{tablename|table_id|view_name|view_id},index_name|index_id] with fast
2.dbcc dbreindex 문 구 를 사용 하여 데이터베이스 에 있 는 표 의 하나 이상 의 색인 을 재 구축 하 는 것 을 의미 합 니 다.
문법:
dbcc dbreindex (['database.owner.table_name'[,index_name[,fillfactor]]]) [withno_infomsgs]
설명:database.owner.tablename,색인 표 이름 다시 만 들 기
index_name,다시 만 들 색인 이름 입 니 다.
fillfactor,색인 을 만 들 때 모든 색인 페이지 에서 데 이 터 를 저장 하 는 공간 백분율 입 니 다.
with no_infomsgs,모든 정보 표시 금지
3.dbcc indexdebrag 를 사용 하여 지정 한 표 나 보기 의 집합 색인 과 보조 색인 조각 을 정리 합 니 다.
문법:
dbcc indexdefrag ({database_name|database_id|0},{table_name|table_id|'view_name'|view_id},{index_name|index_id}) with no_infomsgs 
결론 적 으로 우리 만 이 색인 에 대해 충분히 익숙 해 졌 다.우 리 는 색인 의 추가 삭제 와 네 가지 기본 적 인 조작 을 파악 하고 SQL Server Manager Sdudio 를 이용 하여 이러한 기능 을 실현 하 는 것 을 배 웠 으 며 T-SQL 문 구 를 이용 하여 실현 하 는 것 을 배 웠 다.물론 색인 을 분석 하고 유지 하 는 것 을 배 워 야 우 리 를 위해 더욱 잘 서 비 스 를 할 수 있 습 니 다!

좋은 웹페이지 즐겨찾기