메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 SQL Server

뇌를 자극하는 SQL Server 질의응답 게시판입니다.

분할 테이블 관련 질문입니다.

2011-03-02

|

by 윤경

2064

Create Partition Function PF_Contents ( bigint ) AS RANGE RIGHT FOR VALUES (2011000000000000000);
Create Partition Scheme PS_Contents AS PARTITION PF_Contents TO ([PRIMARY], [OLD_DATA]);

CREATE TABLE [dbo].[a2](
[test1] [bigint] NOT NULL, [test2] [nchar](10) NULL,
CONSTRAINT [PK_a2] PRIMARY KEY CLUSTERED ([test1] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
       IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS  = ON)
) ON PS_Contents(test1)

Insert Into a2(test1, test2) Values(2010103123595962683, N1번?)
Insert Into a2(test1, test2) Values(2011010100000245320, N2번?)

Select * From a2 (2개 행이 영향을 받음)
테이블 a2. 검색 수 2, 논리적 읽기 수 4, ...

Select * From a2 Where $Partition.PF_Test(test1) = 1 (1개 행이 영향을 받음)
테이블 a2. 검색 수 1, 논리적 읽기 수 2, ...

Select * From a2 Where test1 > 2011010100000245310 (1개 행이 영향을 받음)
테이블 a2. 검색 수 2, 논리적 읽기 수 4, ...

궁금한건...
왜 "Select * From a2 Where test1 > 2011010100000245310"
의 검색 수가 2이고, 논리적 읽기 수가 4인지 입니다.
인덱스를 따로 설정해 줘야 하는 것인지...
기본적으로 분할 인덱스는 따로 설정을 해주지 않는 다면 분할 테이블 별 생성 되는 것으로 알고 있는데 말이죠.
따로 조건을 주지 않는 다면 이런식으로 동작하는 것인지...
답변 부탁드리겠습니다.
댓글 입력
자료실