2. »öÀÎ(Index)ÀÇ Á¾·ù
xm  
 

ÀÚ, ÀÌÁ¦ SQL ¼­¹öÀÇ »öÀÎÀ» Ç®¾îº¼ Â÷·Ê·Î±º¿ä.

¾à°£ ¾î·Á¿öµµ Á¶±Ý¸¸ Âü°í ÇÔ²² À̰ܳª°¡ º¸µµ·Ï ÇÏÁö¿ä. ±×¸¸Å­ Áß¿äÇÕ´Ï´Ù. ^_^


»öÀÎÀÇ Á¾·ù SQL ¼­¹ö´Â µÎ °¡Áö Á¾·ùÀÇ »öÀÎÀÌ ÀÖ½À´Ï´Ù. µÎ°¡Áö »ÓÀ̶ó´Ï ¹º°¡ ±âºÐ ÁÁÁö¿ä? ±× µÎ°¡Áö´Â Clustered À妽º¿Í Non-Clustered À妽º ÀÔ´Ï´Ù.

°¢°¢ Çѱ۷δ Ŭ·¯½ºÅÍµÈ À妽º / Ŭ·¯½ºÅ͵ÇÁö ¾ÊÀº À妽º·Î ºÒ¸³´Ï´Ù. -_-;; ´Ã ±×·± °Íó·³ È¥¿ëÇØ¼­ ÄÚ³­ÀÌ´Â ¾µ°Ì´Ï´Ù. ¾Æ½ÃÁ®? ^_^;;


À妽º´Â ºÐ¸í ¸¸µé¾î¾ß ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸»Àº

1. ¸¸µå´Â ºñ¿ëÀÌ ÀÖ´Ù¶ó´Â °ÍÀÌÁö¿ä.

´ÙÀ½ À妽º´Â °ø°£ÀÌ ÇÊ¿äÇÏ´Ù°í Çß½À´Ï´Ù.

2. µð½ºÅ© ºñ¿ëÀÌ ÇÊ¿äÇϸç Ç×»ó °ø°£ À¯Áö¸¦ ÀûÀýÇØ¾ß ÇÑ´Ù´Â °Ì´Ï´Ù.

¸¸µé¸é ³¡Àΰ¡¿ä? ¾Æ´ÏÁÒ. ¸¸µé¾úÀ¸¸é?

3. À¯Áöº¸¼ö¿¡ ºñ¿ëÀÌ ÇÊ¿äÇϰÚÁö¿ä.

À妽º¸¦ ¸¸µé¸é µ¥ÀÌÅ͸¦ Á¶È¸ÇÏ´Â ¼Óµµ¸¦ ³ôÀÏ ¼ø ÀÖÁö¸¸..

¸¸¾à µ¥ÀÌÅͰ¡ »ðÀÔ / ¼öÁ¤ / »èÁ¦ µÈ´Ù°í »ý°¢ÇØ º¸¼¼¿ä. ¾Õ¿¡¼­ º» À妽ºÀÇ ±¸Á¶¸¦ º¯°æÇϸ鼭 Àç»ý¼º ÇØ¾ß°ÚÁö¿ä?

4. µ¥ÀÌÅÍ º¯°æÀÌ ÀÖÀ» ¶§ ºñ¿ëÀÌ Ãß°¡µÈ´Ù´Â °Ì´Ï´Ù.

¾Õ¿¡¼­ ¶ÇÇÑ ¸»¾¸ µå·ÈÁö¸¸ À妽º¸¦ »ç¿ëÇϸé Ç×»ó »¡¶óÁø´Ù°í ¸»¾¸ ¾Èµå·ÈÁÒ.

5. À妽º´Â Ç×»ó ºü¸£Áö ¾Ê´Ù.

À妽º¸¦ »ç¿ëÇϸé À¯¿ëÇÑ ºÎºÐÀº?

5-1. WHEREÀý¿¡¼­ ÂüÁ¶µÇ´Â Ä÷³

5-2. ÂüÁ¶Å°°¡ ¼³Á¤µÇ¾î ÀÖ´Â Ä÷³

5-3. ÂüÁ¶Å°´Â ¾Æ´ÏÁö¸¸ JOIN¿¡ »ç¿ëµÇ´Â Ä÷³

5-4. ¹üÀ§ °Ë»öÀÌ ÀϾ´Â Ä÷³

5-5. ORDER BY·Î Á¤·Ä µÇ´Â Ä÷³, GROUP BY·Î ±×·ìÇÎ µÇ´Â Ä÷³

5-6. TOP ±¸¹®°ú ÇÔ²² »ç¿ëµÇ´Â SELECT Àý

µî¿¡¼­ »ç¿ëÇϸé ÁÁ½À´Ï´Ù.

±×·¸´Ù¸é? ¾îµð¿¡ »ç¿ëÇÏ¸é ¹Ùº¸ µÉ±î¿ä?

5-7. WHEREÀý¿¡¼­ »ç¿ëµÇÁö ¾Ê´Â Ä÷³¿¡´Â ¹°·Ð È¿°ú ¾øÀ½.

5-9. WHEREÀý¿¡¼­ º¯È¯(ÇÔ¼öµîÀÌ »ç¿ëµÇ´Â)µÇ´Â Ä÷³°ú ºñ±³½Ã È¿°ú ¾øÀ½.

5-10. ¼±Åõµ(ãÀ» µ¥ÀÌÅÍ / Àüü µ¥ÀÌÅÍ)°¡ Ŭ °æ¿ì È¿°ú ÀûÀ½.

Àá½ÃÈÄ ¸»¾¸ µå¸®°ÚÁö¸¸.. ¿¹¸¦ µé¾î ¼ºº° Ä÷³°ú °°Àº ³² / ¿© ºñÀ²ÀûÀ¸·Î ´ë·« 50 : 50 ÀÇ ±¸¼ººñ°¡ ÀÖ´Â Ä÷³À̶ó¸é? À妽ºÀÇ È¿°ú°¡ ¶³¾îÁö°ÚÁÒ.

ÀÌ·± ÁÖÀÇ »çÇ×ÀÌ ÇÊ¿äÇÕ´Ï´Ù.


ÀÚ, ÀÌÁ¦ À妽º »ý¼º ±¸¹®À» ½ÇÁ¦·Î ºÁ º¸µµ·Ï ÇÏÁö¿ä.

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH < index_option > [ ,...n] ]
[ ON filegroup ]

< index_option > ::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}

±âºÐ ÁÁ°Ôµµ ±×´ÙÁö ±æÁö ¾ÊÁö¿ä? ÁÖ¿äÇÑ ¸î °¡Áö¸¦ ¸»¾¸ µå¸®¸é..

UNIQUE¸¦ ÁöÁ¤ÇØ °íÀ¯ À妽º ¶Ç´Â °íÀ¯ÇÏÁö ¾ÊÀº À妽º »ý¼ºÀÌ °¡´ÉÇÕ´Ï´Ù.

»öÀÎÀÇ Á¾·ù´Â µÎ °¡Áö·Î CLUSTERED | NONCLUSTERED Áß¿¡ ÁöÁ¤ÀÌ °¡´É ÇÕ´Ï´Ù.

tableÀ̳ª view¿¡ »ý¼ºÀÌ °¡´ÉÇÕ´Ï´Ù. SQL 2000ÀÇ »õ·Î¿î ±â´ÉÀ¸·Î View¿¡ À妽º »ý¼ºÀÌ °¡´ÉÇÏÁö¿ä. ºä °­Á¸¦ Âü°íÇØ º¸¼¼¿ä.

Ä÷³À» ASC ¶Ç´Â DESC·Î Á¤·ÄÇØ »ý¼º °¡´ÉÇÕ´Ï´Ù. ƯÈ÷ Ŭ·¯½ºÅ͵å À妽º¸¦ »ý¼º½Ã À¯¿ëÇϸç ORDER BY ±¸¹®°úµµ ¹ÐÁ¢ÇÕ´Ï´Ù. SQL 2000ÀÇ »õ·Î¿î ±â´ÉÀÔ´Ï´Ù.

´ÙÀ½ À妽º ¿É¼Ç¿¡¼­

PAD_INDEX´Â Áß°£ ·¹º§À» ÀûÀýÈ÷ ºñ¿ö µ¥ÀÌÅÍ »ðÀÔ µî¿¡ ´ëºñÇϱâ À§ÇÑ °ÍÀ̸ç

FILLFACTOR´Â ¸®ÇÁ ·¹º§À» ÀûÀýÈ÷ ºñ¿ö ¿ª½Ã »ðÀÔ µî¿¡ ´ëºñÇÏ´Â °ÍÀÔ´Ï´Ù.

»ùÇÿ¡¼­ À̾߱⸦ ÇØ µå¸®µµ·Ï ÇÏÁö¿ä.

IGNORE_DUP_KEY´Â Áߺ¹µÇ´Â °ªÀ» ¹«½ÃÇÑ´Ù´Â ÀǹÌÀ̱¸¿ä.

DROP_EXISTINGÀº ÀÌ¹Ì Á¸ÀçÇÏ´Â À妽º°¡ ÀÖÀ¸¸é Á¦°ÅÇϰí Àç»ý¼ºÇ϶ó´Â ÀǹÌÀÔ´Ï´Ù.

STATISTICS_NORECOMPUTE´Â À妽º¸¦ »ç¿ëÇÒÁö ¾ÈÇÒÁö Äõ¸® ÃÖÀûÈ­±â°¡ °áÁ¤Çϴµ¥, ÀÌ ±Ù°Å´Â Åë°èÄ¡ µ¥ÀÌÅͶó´Â ³à¼®À¸·Î ÆÇ´ÜÇÏ°Ô µË´Ï´Ù.

ÀÌ Åë°è µ¥ÀÌÅÍ´Â ±âº»ÀûÀ¸·Î ÀÚµ¿ÀûÀ¸·Î Ç×»ó update µÇ´Âµ¥, ÀÌ Åë°è µ¥ÀÌÅ͸¦ ÀÚµ¿ ¾÷µ¥ÀÌÆ® ÇÏÁö ¸»¶ó´Â ¿É¼ÇÀÔ´Ï´Ù.

SORT_IN_TEMPDB TEMPDB»ó¿¡¼­ Á¤·ÄÇ϶ó´Â ¿É¼ÇÀÔ´Ï´Ù. ¿¹¸¦ µé¾î µ¥ÀÌÅÍ¿Í À妽º°¡ °°Àº ¹°¸®ÀûÀÎ µð½ºÅ©¿¡ ÀÖ°í µ¥ÀÌÅͰ¡ ÇÑ 1000¸¸°Ç Á¤µµ µÈ´Ù¸é À妽º »ý¼º¿¡ ´ë´ÜÈ÷ ¸¹Àº ½Ã°£ÀÌ ¼Ò¿ä µË´Ï´Ù.

À̶§ TEMPDB¿¡¼­ À妽º »ý¼º½Ã ÇÊ¿äÇÑ Á¤·ÄÀÛ¾÷À» ½ÃŰ°í »ç¿ëÀÚ µ¥ÀÌÅͺ£À̽ºÀÇ ¹°¸®ÀûÀÎ µð½ºÅ©¿Í TEMPDB Äð¸®ÀûÀÎ µð½ºÅ©°¡ Ʋ¸®´Ù¸é À妽º »ý¼º½Ã ºÎÇϸ¦ ÁÙÀÏ ¼ø ÀÖÁö¸¸ TEMPDB¿¡ ´Ù¸¥ ºÒÇÊ¿ä °ø°£ÀÌ »ý±â´Ï ÁÖÀÇÇÏ¼Å¾ß ÇÏÁö¿ä.

³¡À¸·Î ON filegroupÀº À妽º ¿ª½Ã µ¥ÀÌÅͶó°í ¸»¾¸ µå·È½À´Ï´Ù. µ¥ÀÌÅͺ£À̽º °­Á¿¡¼­ filegroup À» ÀûÀýÈ÷ ºÐ»ê½ÃÄÑ »ý¼ºÇØ ¼Óµµ¸¦ ³ôÀÏ ¼ö ÀÖ´Ù°í ¸»¾¸ µå¸° °Íó·³ À妽º ¿ª½Ã ÀûÀýÇÑ filegroup¿¡ À§Ä¡½ÃÄÑ ÃÖÀûÀÇ ¼Óµµ¸¦ ³¾ ¼ö ÀÖ°Ô ÇÒ ¼ö ÀÖÁö¿ä.


¹é°ßÀÌ ºÒ¿©ÀÏŸ¶ó°í ¿ì¼± Çѹø ¸Í°Å º¸µµ·Ï ÇÏÁö¿ä.

CREATE DATABASE konanTestDB
GO

USE konanTestDB
GO

--Å×ÀÌºí »ý¼º
CREATE TABLE konan_test_table(
konan_id int IDENTITY (1, 1) NOT NULL
, konan_data char (50) NOT NULL
, konan_date char (50) NOT NULL
)
GO

--10000°ÇÀÇ »ùÇà µ¥ÀÌÅÍ »ðÀÔ
set nocount on
GO

declare @i int
set @i = 0
while @i < 10000
begin
--WAITFOR DELAY '00:00:01'
insert into konan_test_table values
(
@i ,
convert(varchar, datepart(yy, getdate())) + '³â '
+ convert(varchar, datepart(mm, getdate())) + '¿ù '
+ convert(varchar, datepart(dd, getdate())) + 'ÀÏ '
+ convert(varchar, datepart(hh, getdate())) + '½Ã '
+ convert(varchar, datepart(mi, getdate())) + 'ºÐ '
+ convert(varchar, datepart(ss, getdate())) + 'ÃÊ '
+ convert(varchar, datepart(ms, getdate())) + '¹Ì¸®ÃÊ '
)
set @i = @i + 1
end
GO
--10ÃÊ.

set nocount off
GO

--»ùÇà µ¥ÀÌÅÍ Á¶È¸
SELECT TOP 100 * FROM konan_test_table
SELECT COUNT(konan_id) FROM konan_test_table

´ë·«ÀûÀÎ »ùÇà µ¥ÀÌÅÍ 100°Ç°ú ¸¸°ÇÀÌ Àß µé¾î°£°Ô º¸ÀÏ °Ì´Ï´Ù.

¿©±â¼­ ¾î´À Á¤µµÀÇ IO ºñ¿ëÀÌ ¼Ò¿äµÇ´ÂÁö º¸µµ·Ï ÇÒ±î¿ä?

¹°·Ð ½Ã°£ / IO ºñ¿ë ¸ðµÎ°¡ Áß¿äÇÏÁö¸¸ ¿ì¼± IO ºñ¿ë¸¸ º¸µµ·Ï ÇÏÁö¿ä.

--IOÅë°è º¸±â
SET STATISTICS IO ON

SELECT * FROM konan_test_table WHERE konan_id = 5000

--IOÅë°è?

SELECT * FROM konan_test_table WHERE konan_id < 10

--IOÅë°è?

SELECT * FROM konan_test_table WHERE konan_id < 30

--IOÅë°è?

SELECT * FROM konan_test_table WHERE konan_id < 1000

--IOÅë°è?

--IOÅë°è ²ô±â
SET STATISTICS IO OFF

¸Þ½ÃÁö ºÎºÐÀ» º¸½Ã¸é IO Åë°è¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù.

ÀÌÁ¦ À妽º¸¦ »ý¼ºÇØ º¸µµ·Ï ÇÏÁö¿ä.

--°£´ÜÇÑ À妽º »ý¼º
CREATE INDEX idx ON konan_test_table (konan_id)
GO

À妽º »ý¼ºÀº Àß µÇ¼ÌÀ» °Å±¸¿ä. ´Ù½Ã µ¥ÀÌÅ͸¦ Á¶È¸ÇØ º¸µµ·Ï ÇÒ±î¿ä?

--IOÅë°è º¸±â
SET STATISTICS IO ON

SELECT * FROM konan_test_table WHERE konan_id = 5000

--IOÅë°è?

SELECT * FROM konan_test_table WHERE konan_id < 10

--IOÅë°è?

SELECT * FROM konan_test_table WHERE konan_id < 30

--IOÅë°è?

SELECT * FROM konan_test_table WHERE konan_id < 1000

--IOÅë°è?

--IOÅë°è ²ô±â
SET STATISTICS IO OFF

Åë°è¸¦ ºÁ º¸¼¼¿ä. ¾î¶°¼¼¿ä?

¾Æ¸¶µµ WHERE konan_id < 30 ºÎÅÍ À妽º°¡ ¾øÀ» ¶§¿Í ºñ½ÁÇÑ ¼öÄ¡°¡ ³ª¿Ã °Ì´Ï´Ù.

À̰ÍÀº ¹» ¸»ÇÏ´Â °É±î¿ä?
´ÙÀ½Ã³·³ ½ÇÇà°èȹ Ç¥½Ã¸¦ ÇϽðųª ¶Ç´Â ÄÁÆ®·Ñ+K¸¦ ´­·¯ ½ÇÇà°èȹÀ» ºÁ º¸µµ·Ï ÇÏÁö¿ä.

¹Ù·Î À§ÀÇ °°Àº Äõ¸®¸¦ ¼öÇàÇØ º¸¸é,

À§ÀÇ ±×¸²Ã³·³ ½ÇÇà °èȹÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù. Áß¿äÇÑ°Ç Index Seek¸¦ Çß´Ù´Â Á¡ÀÌÁö¿ä.

´ÙÀ½ Äõ¸®¿¡¼­ ¼öÇà °èȹÀ» º¸¸é?

ÀÌ·¸°Ô konan_id < 30À» ºÁ º¸½Ã¸é Table ScanÀ» ÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

ºÐ¸í ¾î¶² °ÍÀº À妽º¸¦ Ÿ°í ¾î¶² °ÍÀº À妽º¸¦ ŸÁö ¾ÊÁö¿ä?

¾Õ¿¡¼­ ¸»¾¸µå¸° °Ç ¼±Åõµ¶ó°í ÇØ¼­(ãÀ» µ¥ÀÌÅͼö / Àüü µ¥ÀÌÅͼö)·Î ÆÇ´ÜµÇ°Ô µË´Ï´Ù. õõÈ÷ ¸»¾¸ µå¸®Áö¿ä.


´ÙÀ½ À妽ºÀÇ Á¤º¸¸¦ º¸·Á¸é ¾î¶»°Ô ÇÒ±î¿ä?

--À妽º Á¤º¸ Á¶È¸
sp_helpindex konan_test_table

±×·¯¸é À妽ºÀÇ Á¤º¸¸¦ È®ÀÎÇÒ ¼ö ÀÖÀ» °Ì´Ï´Ù.

Èï¹ÌÀÖ°Ô º¸½Ç ºÎºÐÀ¸·Î À妽ºÀÇ Á¾·ù¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é? µÚ¿¡¼­ º¸½Ã°ÚÁö¸¸ ³ÍŬ·¯½ºÅ͵å À妽º·Î ÀâÈ÷°Ô µË´Ï´Ù. Âü°íÇϼ¼¿ä.

À妽ºÀÇ º¯°æ ±¸¹®Àº ¾øÀ¸¸ç DROP INDEX ±¸¹®À» ÀÌ¿ëÇØ À妽º¸¦ Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.

--À妽º Á¦°Å
DROP INDEX konan_test_table.idx

¹°·Ð ¾Õ¿¡¼­ ¸»¾¸µå¸° CREATE INDEX±¸¹®ÀÇ DROP EXISTING ±¸¹®À¸·Î Á¸ÀçÇÏ´Â À妽º¸¦ Áö¿ì°í »ý¼ºÇÒ ¼ö µµ ÀÖ½À´Ï´Ù.


¿ì¼± À妽º¸¦ »ý¼ºÇÏ°í µ¹·Á´Â º¸¼Ì³×¿ä.

ÀÌÁ¦ º»°ÝÀûÀÎ SQL¼­¹öÀÇ À妽º¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇÒ±î¿ä.

Ŭ·¯½ºÅ͵å À妽º

Ŭ·¯½ºÅ͵å À妽º´Â °£´ÜÈ÷ À妽ºÀÇ ¸®ÇÁ·¹º§ÀÌ µ¥ÀÌÅÍ ÆäÀÌÁö¿Í °°Àº °Ì´Ï´Ù.

¹º¼Ò¸®³Ä±¸¿ä? õõÈ÷ ¼³¸í µå¸®Áö¿ä.

ÀÌ·± È­¸éÀ» »ý°¢ÇØ º¸¼¼¿ä.

Ŭ·¯½ºÅ͵å À妽º´Â ¹°¸®ÀûÀ¸·Î ÇàÀ» Àç¹è¿­ÇØ ¸®ÇÁ ·¹º§ÀÌ Â÷°îÂ÷°î ¿À¸¥ÂÊÀÇ µ¥ÀÌÅÍ ÆäÀÌÁöó·³ ½×ÀÌ°Ô ÇÕ´Ï´Ù.

±×·³ À妽º¸¦ ºÁ º¼±î¿ä?

À妽º°¡ ¼³Á¤µÈ Ä÷³ÀÇ °ªÀÌ ¼øÂ÷ÀûÀ¸·Î Àç¹è¿­µÇ°Ô µÇ¹Ç·Î ¿ÞÂÊ¿¡ º¸½Ã´Â À妽º ÆäÀÌÁö´Â ´ÜÁö ۰ª°ú ÆäÀÌÁöÀÇ ¹øÈ£¸¸ÀÌ ÁöÁ¤µÇ°Ô µË´Ï´Ù.

ÀÚ, ±×·³ ¿ì¸®°¡ ¸¸¾à 5¹ø °­ÇØ¿øÀ» ãÀ¸·Á ÇÑ´Ù°í »ý°¢ÇØ º¸µµ·Ï ÇÏÁö¿ä.

À̶§´Â ¸ÕÀú Ŭ·¯½ºÅ͵å À妽ºÀÇ °ªÀ» º¸´Ï 4 < 5 < 7 »çÀ̰¡ µÇ¹Ç·Î 4 - 2 ÀÎ 2¹ø ÆäÀÌÁö·Î °¡°Ô µË´Ï´Ù. 2¹ø ÆäÀÌÁö·Î °¡¼­ ¹Ù·Î 5¹ø °­ÇØ¿øÀ» ã°Ô µÇÁö¿ä.

´ë·« ÀÌ·¯ÇÑ ±×¸²À¸·Î ÀÌ·ç¾î Áö°Ô µÇ´Â °Ì´Ï´Ù. ¸¸¾à 12¹ø ±èÅ¿µÀ» ã´Â´Ù¸é?

À̶§´Â ¿ª½Ã 10 < 12 < 13 À̹ǷΠ4ÆäÀÌÁö·Î °¡¼­ 12¹ø ±èÅ¿µÀ» ãÀ» ¼ö ÀÖ°Ô µÇ°ÚÁö¿ä.

À̰ÍÀÌ °¡´ÉÇÑ ÀÌÀ¯°¡ ¹»±î¿ä?

¹Ù·Î ¹°¸®ÀûÀ¸·Î ÇàÀÌ Á¤·ÄµÇ¾î Àֱ⠶§¹®¿¡ °¡´ÉÇÑ °ÅÁö¿ä. ¸¸¾à ¹°¸®ÀûÀ¸·Î ÇàÀÌ Àç¹è¿­ µÇ¾î ÀÖÁö ¾Ê´Ù¸é? ÀÌ·± ÀÛ¾÷Àº ºÒ°¡ÇØ Áö´Â °Ì´Ï´Ù.
¾Æ¿ï·¯ ¹°¸®ÀûÀ¸·Î ÇàµéÀÌ Àç¹è¿­ µÇ¾î ÀÖÀ¸¹Ç·Î ¹üÀ§ °Ë»ö¿¡ ´ë´ÜÈ÷ À¯¿ëÇÕ´Ï´Ù.

ÀÌ ¸»Àº ¼±Åõµ°¡ ¾î´À Á¤µµ ³ô¾Æµµ - Ŭ·¯½ºÅ͵å À妽ºÀÇ °æ¿ì 30% Á¤µµµµ °¡´É - À妽º¸¦ ÀÌ¿ëÇØ µ¥ÀÌÅ͸¦ Á¶È¸ÇÒ ¼ö ÀÖ°Ô µÇÁö¿ä.

¾Æ¿ï·¯ Ŭ·¯½ºÅ͵å À妽º°¡ Àú·¸°Ô Å×ÀÌºí¿¡ Çϳª »ý¼ºµÇ¾î Àִµ¥¿ä. ¸¸¾à Ŭ·¯½ºÅ͵å À妽º¸¦ Çϳª ´õ Å×ÀÌºí¿¡ ¸¸µé°í ½Í´Ù¸é ¾î¶³±î¿ä?

¾ÈŸ±õ°Ôµµ ´ÙÀ½¹ø Ŭ·¯½ºÅ͵å À妽º´Â Å×À̺íÀ» ´Ù½Ã À籸¼ºÇÏ°í ½Í°ÚÁö¸¸.. ÀÌ¹Ì Çѹø Å×À̺íÀÌ Á¤·ÄµÈ »óÅ·ΠÀ籸¼ºµÇ¾î ÀÖÀ¸¹Ç·Î ºÒ°¡´ÉÇØ Áý´Ï´Ù.

¿À·ÎÁö Å×ÀÌºí¿¡ ´Ü 1°³ÀÇ Å¬·¯½ºÅ͵å À妽º¸¸ »ý¼ºÀÌ °¡´ÉÇÏ´Ï ÁÖÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù.

±×·³ ¾ÕÀÇ »ùÇÃÄõ¸®¸¦ Ŭ·¯½ºÅ͵å À妽º·Î »ý¼ºÇϰí Àå³­À» Á¶±Ý ÃÄ º¼±î¿ä?

--À妽º°¡ Á¸ÀçÇϸé Áö¿ï°Í
DROP INDEX konan_test_table.idx

--Ŭ·¯½ºÅ͵å À妽º »ý¼º
CREATE CLUSTERED INDEX idx ON konan_test_table (konan_id)
GO

ÀÌ·¸°Ô Ŭ·¯½ºÅ͵å À妽º¸¦ »ý¼ºÇÒ ¼ö ÀÖÁö¿ä. ±×·±µ¥ ƯÀÌÇϰԵµ SQL ¼­¹ö´Â Ŭ·¯½ºÅ͵å À妽º¿¡ ´ëÇØ¼­ ´ë´ÜÈ÷ ³ôÀº ¿ì¼±±ÇÀ» ºÎ¿©ÇÕ´Ï´Ù.

¿¹¸¦ µé¾î ÀÌ·²¶©.. Ç®½ºÄµÀ» ÇØµµ ÁÁÀ» °Í °°Àºµ¥... Ŭ·¯½ºÅ͵å À妽º¸¦ ½á¼­ °Ë»çÇÒ °æ¿ì°¡ ÀÖÁö¿ä.

ÀÌ´Â ¸»¾¸ µå¸°´ë·Î SQL Äõ¸® ÃÖÀûÈ­±â°¡ ÆÇ´ÜÇϴµ¥ Å×À̺íÀÇ Å©±â°¡ À۰ųª(·Î¿ìÀÇ °Ç¼ö°¡ ¾Æ´Ñ ÀüüÀûÀÎ Å©±â) ¶Ç´Â Ŭ·¯½ºÅ͵å À妽ºÀÇ Å°°ª Ä÷³ÀÌ ÀÛÀ» °æ¿ì Á¾Á¾ ¹ß»ý ÇÕ´Ï´Ù.

½ÇÁ¦ Çö¾÷¿¡¼­´Â ¹üÀ§°Ë»ö¿¡ Á¾Á¾ ÀÌ Å¬·¯½ºÅ͵å À妽º¸¦ µÎ°Ô µÇ¹Ç·Î Á¤»óÀûÀ¸·Î Àß µ¿ÀÛÇÏ°Ô µÇÁö¿ä.

¶ÇÇÑ Å¬·¯½ºÅ͵å À妽º´Â ºñ±³Àû ³ÍŬ·¯½ºÅ͵å À妽ºº¸´Ù Å©±â°¡ ÀÛ½À´Ï´Ù. ¾Æ¿ï·¯ Ŭ·¯½ºÅ͵å À妽º´Â Å©±â¸¦ ´ë·«ÀûÀ¸·Î ¿¹ÃøÇÒ ¼ö ÀÖ´Â À妽ºÀ̱⵵ ÇÏÁö¿ä.


´ÙÀ½ ³Í Ŭ·¯½ºÅ͵å À妽º¸¦ ºÁ º¸µµ·Ï ÇÒ±î¿ä?

³Í Ŭ·¯½ºÅ͵å À妽º

½ÇÁ¦ Å×À̺íÀÇ µ¥ÀÌÅͰ¡ Ç×»ó ¼øÂ÷ÀûÀ¸·Î µé¾î°¡ ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.

°ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­ ¼øÂ÷¶ó´Â °ÍÀº »ç½Ç Àǹ̰¡ ¾ø½À´Ï´Ù. °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ ¼øÂ÷ À¯Áö´Â ¿À·ÎÁö ORDER BY¿¡ ÀûÀýÈ÷ ÀÌ¿ëµÇ´Â Ä÷³À» Àß ±¸¼ºÇؾ߸¸ ÇÏ´Â °ÍÀÌÁö¿ä.

¿¹¸¦ µé¾î ½ÇÁ¦ ÁøÂ¥ SQL¼­¹ö¿¡ µé¾î°¡ ÀÖ´Â Å×À̺íÀÇ ¼ø¼­´Â ´ÙÀ½°ú °°À» °Ì´Ï´Ù.

ÀÌ·± ½ÄÀÇ µ¥ÀÌÅͰ¡ ½ÇÁ¦·Î µé¾î°¡ ÀÖ°Ô µÇÁö¿ä. ±×·¸´Ù¸é ÆäÀÌÁö ³»ºÎ´Â ¾î¶² ½ÄÀϱî¿ä?

´ë·«ÀûÀ¸·Î À§ÀÇ ±×¸²°ú °°Àº ½ÄÀÇ µ¥ÀÌÅͰ¡ µé¾î°¡ ÀÖ°Ô µË´Ï´Ù.

½ÇÁúÀûÀÎ µ¥ÀÌÅÍ ÆäÀÌÁöÀÌÁö¿ä. ÀÌ·± µ¥ÀÌÅÍ ÆäÀÌÁöµéÀÇ ¹øÈ£¿¡ Ŭ·¯½ºÅ͵å À妽º¸¦ ¸¸¾à »ý¼ºÇÑ´Ù¸é ¾î¶»°Ô µÉ±î¿ä?

ÀÌ·² °æ¿ì´Â RID¶ó´Â ³à¼®ÀÌ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. °£´ÜÈ÷ RID´Â ·Î¿ìÀÇ ±¸º°Çϴ ƯÁ¤ °ªÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.

³Í Ŭ·¯½ºÅ͵å À妽º´Â ¹Ù·Î ÀÌ RID¸¦ °¡Áö°í µ¥ÀÌÅÍ ÆäÀÌÁö¸¦ Æ÷ÀÎÆÃ ÇÏ°Ô µÇÁö¿ä.

RID »ùÇÃÀ» º¸½Ã¸é ´ÙÀ½°ú °°Àº ½ÄÀÔ´Ï´Ù.

¿©±â¼­ RIDÀÇ Ã¹¹øÂ° 1Àº È­ÀÏ ±×·ëÀ» ÀǹÌÇÏ°Ô µË´Ï´Ù.

±× ´ÙÀ½ ¼ýÀÚ´Â µ¥ÀÌÅÍ ÆäÀÌÁö ¹øÈ£ÀÌ¸ç ¸¶Áö¸· ¼¼¹øÂ° ¼ýÀÚ´Â ÆäÀÌÁö ¿É¼ÂÀ¸·Î Á¤È®È÷ ÆäÀÌÁöÀÇ ÇÑ ·Î¿ì¸¦ Æ÷ÀÎÆÃ(Pointing)ÇÏ°Ô µÇÁö¿ä.

¶ÇÇÑ ÀÌ À妽º ÆäÀÌÁö´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ºÐÇÒ µÇ°ÚÁö¿ä.

ÀÌ·¯ÇÑ Çü½ÄÀÌ ³ÍŬ·¯½ºÅ͵å À妽º¿¡¼­ °ú¿¬ ¾î¶»°Ô »ç¿ë µÉ±î¿ä?

½ÇÁ¦ ±¸Á¶¸¦ ±×·Á º¸µµ·Ï ÇÏÁö¿ä.

ÀÌ·¯ÇÑ ½ÄÀ¸·Î »ý¼ºÀÌ µÇ°Ô µË´Ï´Ù.

·çÆ® ·¹º§Àº À妽º ÆäÀÌÁö 7À̸ç, Áß°£ ·¹º§Àº ¿£µ¦½º ÆäÀÌÁö 1,2,3,4 À̰í, ½ÇÁ¦ µ¥ÀÌÅÍÆäÀÌÁö´Â 1,2,3,4,5 µ¥ÀÌÅÍ ÆäÀÌÁö°¡ µÇÁö¿ä.

ÀÚ, °ªÀ» ³×ºñ°ÔÀÌ¼Ç ÇØ º¸µµ·Ï ÇսôÙ. ¸¸¾à Á¦°¡ 3¹ø À̽¿ëÀ» ãÀ¸·Á ÇÑ´Ù°í »ý°¢ÇØ º¸Áö¿ä.

1 < 3 < 5 À̹ǷΠ1ÆäÀÌÁö·Î °¡¾ß °ÚÁö¿ä? °°´õ´Ï 3Àº 4ÆäÀÌÁö 2¹øÂ° ·Î¿ì¿¡ ÀÖ´Ù°í ÇÕ´Ï´Ù. ¹Ù·Î 4ÆäÀÌÁö·Î °¡¼­ µÎ¹øÂ° ·Î¿ì¸¦ ÄÁÅÃÇÏ´Â °ÅÁö¿ä.

¶ÇÇÑ ¸¸¾à 8 Â÷¿µÀÎÀ» ãÀ¸·Á ÇÑ´Ù¸é

5 < 8 < 9 À̹ǷΠÀ妽ºÆäÀÌÁö 2·Î °¡¼­ 8 Â÷¿µÀÎÀ» º¸´Ï 1-3-2¶ó°í µÇ¾î ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ÆäÀÌÁö 3ÀÇ 2¹øÂ° ·Î¿ì¸¦ Æ÷ÀÎÆÃ ÇÏ°Ô µÇÁö¿ä.

À̰ÍÀÌ ³ÍŬ·¯½ºÅ͵å À妽º ÀÔ´Ï´Ù.

³ÍŬ·¯½ºÅ͵å À妽º´Â ÀÌ·¸°Ô Æ÷ÀÎÆÃ Á¤º¸¸¦ °¡Áö°Ô µÇ¹Ç·Î À妽ºÀÇ Å©±â°¡ Ä¿Áö°Ô µË´Ï´Ù.
¾Æ¿ï·¯ ¼±Åõµ°¡ ³ôÀ¸¸é ¹Ù·Î Äõ¸® ÃÖÀûÈ­±â´Â ÀÌ ³ÍŬ·¯½ºÅ͵å À妽º¸¦ »ç¿ëÇÏÁö ¾Ê°Ô µÇÁö¿ä. ÀϹÝÀûÀ¸·Î 3% À̳» Á¤µµ¸é ÀÌ ³ÍŬ·¯½ºÅ͵å À妽º¸¦ »ç¿ëÇÏÁö ¾Ê°Ô µË´Ï´Ù.

³ÍŬ·¯½ºÅ͵å À妽º´Â µ¥ÀÌÅÍÆäÀÌÁö¸¦ ¹°¸®ÀûÀ¸·Î Àç¹è¿­ÇÏÁö ¾ÊÀ¸¹Ç·Î ¿©·¯°³ÀÇ À妽º¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃÖ´ë »ý¼º °¡´É °¹¼ö´Â 249°³ ÀÔ´Ï´Ù.

µÎ Â÷À̸¦ ºñ±³ÇÑ´Ù¸é ´ÙÀ½°ú °°°ÚÁö¿ä.

±¸ºÐ Ŭ·¯½ºÅ͵å À妽º ³ÍŬ·¯½ºÅ͵å À妽º
Â÷ÀÌ ¹°¸®ÀûÀ¸·Î ÇàÀ» Àç¹è¿­ ¹°¸®ÀûÀ¸·Î ÇàÀ» Àç¹è¿­ÇÏÁö ¾Ê´Â´Ù.
Å©±â ºñ±³Àû ÀÛ´Ù. Ŭ·¯½ºÅ͵å À妽ºº¸´Ù Å©´Ù.
¼±Åõµ 30% Á¤µµ¸é »ç¿ëÇÑ´Ù. 3% À̳»¸é »ç¿ëÇÑ´Ù.
ÃÖ´ë °¹¼ö Å×À̺í´ç 1°³ Å×À̺í´ç 249°³

´ÙÀ½À¸·Î Ŭ·¯½ºÅ͵å À妽º°¡ ÀÖ´Â Å×À̺íÀÇ ³ÍŬ·¯½ºÅ͵å À妽º¸¦ ¾Ë¾Æ º¸µµ·Ï ÇÏÁö¿ä.

¹°·Ð ´ç¿¬È÷ Ŭ·¯½ºÅ͵å À妽º¿Í ³Í Ŭ·¯½ºÅ͵å À妽º°¡ ÀÖÀ» ¶§ ³ÍŬ·¯½ºÅ͵å À妽º¸¦ Á¶È¸ÇÒ °æ¿ì°ÚÁö¿ä?

ÇöÀç´Â ¹øÈ£¿¡ Ŭ·¯½ºÅ͵å À妽º°¡ °É¸° »óÅÂÀ̸ç, À̸§¿¡ ³ÍŬ·¯½ºÅ͵å À妽º°¡ ¼³Á¤µÈ »óÅÂÀÔ´Ï´Ù.

ÀÌ·± ½ÄÀ¸·Î ±¸¼ºÀÌ µÇ°Ô µË´Ï´Ù. ¸ÕÀú ¾Ë¾Æ µÎ¼Å¾ß ÇÒ °ÍÀº!!

³ÍŬ·¯½ºÅ͵å À妽ºÀÇ RID´Â ´õ ÀÌ»ó RID°¡ ¾Æ´Ñ Ŭ·¯½ºÅ͵å À妽ºÀÇ Å°°ªÀ» °¡Áö°Ô µË´Ï´Ù.

Á» ´õ °£´ÜÈ÷ ½ÇÁ¦ Á¶È¸¸¦ ÇØ º¸µµ·Ï ÇÏÁö¿ä. ³ÍŬ·¯½ºÅ͵å À妽º°¡ °É¸° À̸§ Ä÷³ÀÇ À¯º´¼ö¶ó´Â À̸§À» Á¶È¸ÇØ º¸µµ·Ï ÇսôÙ.

¹ÚÈÆ < À¯º´¼ö < À̼ö¼± À̹ǷΠ³ÍŬ·¯½ºÅ͵å Áß°£ ·¹º§ÀÇ 2ÆäÀÌÁö·Î °¡°Ô µÉ°Ì´Ï´Ù.

¿©±â¼­ À¯º´¼ö¸¦ ãÀ¸´Ï À¯º´¼ö´Â Ŭ·¯½ºÅ͵å À妽º 10¹ø ۰ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù. 10À̶ó´Â °ªÀ» °¡Áö°í Ŭ·¯½ºÅ͵å À妽º ÆäÀÌÁö·Î °¡´Ï 10Àº µ¥ÀÌÅÍÆäÀÌÁö 4¿¡ ÀÖ´Ù°í ÇÕ´Ï´Ù.

µ¥ÀÌÅÍÆäÀÌÁö 4·Î °¡´Ï? ¹Ù·Î 10 À¯º´¼ö¸¦ ãÀ» ¼ö ÀÖ°Ô µÇÁö¿ä.

³×, ¸Â½À´Ï´Ù. ¹Ù·Î ÀÌ·± ±×¸²ÀÌ µÇ´Â °ÍÀÌÁö¿ä. ¸¸¾à ÇѱâȯÀ» ãÀ¸·Á ÇÑ´Ù¸é ¾î¶»°Ô µÉ±î¿ä?

Çѱâȯ < Çѱâȯ À̹ǷΠ³ÍŬ·¯½ºÅ͵å Áß°£ ·¹º§ÀÇ 4ÆäÀÌÁö·Î °¡°Ô µÇ°ÚÁÒ?

Ŭ·¯½ºÅ͵å À妽ºÀÇ Å°°ª 2ÀÌ´Ï. 1 < 2 < 4 À̹ǷΠ1 µ¥ÀÌÅÍ ÆäÀÌÁö·Î °¡°Ô µÇ¸ç 1 µ¥ÀÌÅÍ ÆäÀÌÁö¿¡¼­ 2¹ø ÇѱâȯÀ» ¹ß°ßÇÏ°Ô µÉ °Ì´Ï´Ù.

¾î¶°¼¼¿ä? Á¶±Ý °¨ÀÌ ÀâÈ÷½Ã³ª¿ä? ^_^ ³»ºÎÀûÀÎ ºÎºÐÀ̶ó Á¶±Ý ¾î·Æ±âµµ ÇϽðÚÁö¸¸ Áß¿äÇÑ ºÎºÐÀ̶ø´Ï´Ù.

´ÙÀ½ Àå¿¡¼­´Â ½ÇÁ¦ »öÀÎÀ» ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î »ý¼ºÇÏ°í ¼öÇàÇØ º¼ °Ì´Ï´Ù. ¼ö°íÇϼ̽À´Ï´Ù.

   
 
<< ÀÌÀü ´ÙÀ½ >>

°­Á¸ñ·Ï