º»¹®/³»¿ë
1. À妽º ½Ã¹Ä·¹À̼Ç
1.1 Setup
¿ì¼± ´ÙÀ½°ú °°Àº ÀýÂ÷·Î ±âÃÊ ÀÛ¾÷À» ¼öÇàÇÑ´Ù.
1) µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÑ´Ù.
create database inxdb
2) Å×À̺í Çϳª¸¦ »ý¼ºÇÑ´Ù. ÀÌ ¶§ ColumnÀº ÃÖ¼Ò 3°³ ÀÌ»ó µÇ¾î¾ß Çϰí, Primary Key´Â ÇϳªÀÇ Column ¸¸À¸·Î Ç쵂 ¼³°è »ó¿¡´Â Primary Key¸¦ ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù. µû¶ó¼, ¾î¶² Column¿¡µµ À妽º°¡ »ý¼ºµÇÁö ¾Ê´Â´Ù.
create table member
(
id int not null,
name varchar(20),
etc char(950)
)
3) Å×ÀÌºí¿¡ Row¸¦ 100,000°³ ÀÔ·ÂÇÒ ¼ö ÀÖ´Â Script¸¦ ÀÛ¼ºÇÏ¿© ¼öÇàÇÑ´Ù.
begin tran
declare @i int
set @i = 0
while @i <20000
begin
insert member values (@i*5+0, `A`, `TEST ADDRESS`)
insert member values (@i*5+1, `B`, `TEST ADDRESS`)
insert member values (@i*5+2, `C`, `TEST ADDRESS`)
insert member values (@i*5+3, `D`, `TEST ADDRESS`)
insert member values (@i*5+4, `E`, `TEST ADDRESS`)
set @¡¦(»ý·«)
1.2 Simulation
1) Selected Row°¡ Àüü ´ëºñ 25% º¸´Ù ÀûÀº Select¹®À» ÀÛ¼ºÇÑ´Ù. WHERE ¹®¿¡´Â Primary Key Column ¸¸ÀÌ »ç¿ëµÇ¾î¾ß ÇÑ´Ù.
2) ¼öÇà °èȹ°ú ¼öÇà½Ã°£À» ¾Ë ¼ö ÀÖµµ·Ï SETÇϰí Select¹®À» ¼öÇàÇÑ´Ù. – Query for Tables without Any Index
3) Primary Key°¡ ¾Æ´Ñ Column¿¡ ´ëÇØ Non-Clustered Index¸¦ »ý¼ºÇÑ´Ù.
4) Selected Row°¡ Àüü ´ëºñ 25% º¸´Ù ÀûÀº Select¹®À» ÀÛ¼ºÇÑ´Ù. ÀÌ ¶§, WHERE ¹®¿¡´Â Non-Clustered Index°¡ ¼³Á¤µÈ ColumnÀÌ »ç¿ëµÇ¾î¾ß ÇÑ´Ù.
5) ¼öÇà °èȹ°ú ¼öÇà½Ã°£À» ¾Ë ¼ö ÀÖµµ·Ï SETÇϰí 4) ¹ø Select¹®À» ¼öÇàÇÑ´Ù. – Query for Heap Tables with Non-Clustered Index