38. 인덱스(Index)의 효과 연습(Clustered Index와 Non-Clustered Index)
.NET프로그래밍/SQL Server 2008 2009. 9. 16. 20:51 |Use tempdb
Go
--[0] 테스트용임시테이블작성
--Drop Table FrontBoard1
Create Table dbo.FrontBoard1
(
ItemID Int Identity(1,1), -- Primary Key 및Not Null -- 넌클러스터드인덱스
Title VarChar(150) Null -- 클러스터드인덱스
)
Go
Create Table dbo.FrontBoard2
(
ItemID Int Identity(1,1), -- Primary Key 및Not Null
Title VarChar(150) Null
)
Go
--[!] 실행속도비교: 아래2개구문을블록씌우고Ctrl + L
Select * From FrontBoard1 Where Title Like '제목%'
Select * From FrontBoard2 Where Title Like '제목%'
--[!] 데이터입력
Declare @i Int
Set @i = 1
While @i <= 100000
Begin
Insert FrontBoard1 Values('제목' + Cast(@i As VarChar))
Insert FrontBoard2 Values('제목' + Cast(@i As VarChar))
Set @i = @i + 1
End
Go
--[1] FrontBoard의ItemID필드에idxFrontBoard란넌클러스터인덱스생성
Create Index idxFrontBoard
On FrontBoard1(ItemID)
Go
--[2] sp_helpindex 시스템저장프로시저를이용해서인덱스정보확인
Exec sp_helpindex FrontBoard1
Go
--[3] 인덱스지우기
Drop Index FrontBoard1.idxFrontBoard
Go
--[4] Title필드에유니크한클러스터인덱스생성
Create Unique Clustered Index idxFrontBoard1
On FrontBoard1(Title)
Go
--[5] sp_helpindex 시스템저장프로시저를이용해서인덱스정보확인
Exec sp_helpindex FrontBoard1
--[6] 인덱스지우기
Drop Index FrontBoard1.idxFrontBoard1 --인덱스지우기
Go
(Index키워드 앞에 Clustered라는 키워드를 붙여주지 않으면, 넌클러스터 인덱스로 생성된다.)
*/
'.NET프로그래밍 > SQL Server 2008' 카테고리의 다른 글
40. Select문 기타키워드(Distinct / Case 등등) (0) | 2009.09.17 |
---|---|
39. 백업 및 복원 (0) | 2009.09.17 |
37. 인덱스(Index)의 효과 - 인덱스 사용에 따른 성능(속도) 비교. (0) | 2009.09.16 |
35. DTS - 우편번호 데이터(엑셀파일)를 받아서 DB로 데이터 가져오기 (0) | 2009.09.16 |
34. DTS - 일반 텍스트파일(CSV파일)의 값을 DB로 가져오기 (0) | 2009.09.16 |