HOME   ·Î±×ÀΠ  ȸ¿ø°¡ÀÔ
    
ȸ¿ø°¡ÀÔ
ºñ¹Ð¹øÈ£ ã±â ÀÚµ¿·Î±ä
ÀÌÀü°Ô½ÃÆÇ
   free_board
   °Ç°­°Ô½ÃÆÇ
   ¿À¶óŬDB
   Linux
   HTML/javascript
   Áú¹®°ú ´ä
È£¼­±â
   À̹ÌÁö°Ô½ÃÆÇ  
   °Ç°­°Ô½ÃÆÇ  
   À½¾ÇÀÚ·á  
   ¼ºÁØÀÌ °Ô½ÃÆÇ  
[ÀϹÝ] INDEX »ç¿ëÇϱâ mssql,oracle,mysql
  È£¼® ´Ô²²¼­ ¾´ ±ÛÀÔ´Ï´Ù - 121.¢½.39.7 ÀÐÀ½:5826  
INDEX »ç¿ëÇϱâ

by kkaok
2003-06-24

 

À妽ºÀÇ È°¿ë

¸¸¾à ¿ì¸®°¡ ÁýÀ» Áþ´Âµ¥ Á¦ÀÏ ¸ÕÀú ÇØ¾ß ÇÒ ÀÏÀÌ ¹»±î? ±×°ÍÀº ¾Æ¸¶µµ ¼³°èÀÏ °ÍÀÌ´Ù. ±âÃÊ°¡ µÇ´Â ±âº» ¼³°è¸¦ Àß Çؾ߸¸ÀÌ ±× ÈÄ ÀÛ¾÷ÀÌ ¿øÈ°ÇÏ°í ÃÖÀûÈ­°¡ µÇ´Â °ÍÀÌ´Ù.
ÇÁ·Î±×·¡¸Ó´Â java, servlet, jsp»Ó ¾Æ´Ï¶ó ÃÖ¼ÒÇÑÀÇ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ­µµ ¾Ë¾Æ¾ß ÇÑ´Ù. °Ô½ÃÆÇ, Ä«¿îÅÍ, ÀÏÁ¤°ü¸® µîÀ» ¸¸µå´Âµ¥ DB ¼³°è¸¦ ´Ù¸¥ »ç¶÷ÀÌ ÇØÁÙ ¼öµµ ÀÖ°ÚÁö¸¸ ´ëºÎºÐÀÌ °³¹ßÀÚ°¡ ¼³°èÇÏ°í ¸¸µé±â ¶§¹®ÀÌ´Ù. ¿©±â¼­´Â DB¿¡ ´ëÇØ ½Éµµ ±íÀº °øºÎ¸¦ ÇÒ ¼ö´Â ¾øÁö¸¸ ÃÖ¼ÒÇÑÀÇ Áö½Ä¿¡ ´ëÇØ ¹è¿ì±â·Î ÇÑ´Ù.

 

À妽º¶õ ¹«¾ùÀΰ¡?

SQL¼­¹ö¿¡¼­ Å×À̺íÀ» ¸¸µé°í µ¥ÀÌÅ͸¦ Ãß°¡, ¼öÁ¤, »èÁ¦ ÇÒ ¶§ µ¥ÀÌÅÍÀÇ ·¹ÄÚµå´Â ³»ºÎÀûÀ¸·Î ¾Æ¹«·± ¼ø¼­ ¾øÀÌ ÀúÀåµÈ´Ù. À̶§ µ¥ÀÌÅÍ ÀúÀ念¿ªÀ» HeapÀ̶ó°í ÇÑ´Ù. Heap¿¡¼­´Â À妽º°¡ ¾ø´Â Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ãÀ» ¶§ ¹«Á¶°Ç Àüü µ¥ÀÌÅÍ ÆäÀÌÁöÀÇ Ã³À½ ·¹ÄÚµåºÎÅÍ ³¡ ÆäÀÌÁöÀÇ ¸¶Áö¸· ·¹ÄÚµå±îÁö ´Ù Àо °Ë»öÁ¶°Ç°ú ºñ±³ÇÏ°Ô µÈ´Ù. ÀÌ·± ½ÄÀÇ µ¥ÀÌÅÍ °Ë»ö¹æ¹ýÀ» Å×ÀÌºí ½ºÄµ(table scan) ¶Ç´Â Ç® ½ºÄµ(full scan)À̶ó°í ÇÑ´Ù. ÀÌ·² °æ¿ì ¾çÀÌ ¸¹Àº Å×ÀÌºí¿¡¼­ ÀϺκÐÀÇ µ¥ÀÌÅ͸¸ ºÒ·¯ ¿Ã ¶§ Ç® ½ºÄµÀ» Çϸé ó¸® ¼º´ÉÀÌ ¶³¾îÁø´Ù. Áï À妽º´Â µ¥ÀÌÅ͸¦ select ÇÒ ¶§ »¡¸® ã±â À§ÇØ »ç¿ëµÈ´Ù.

 

À妽º »ý¼º ½Ã °í·ÁÇÒ Á¡

À妽º¸¦ »ý¼º ½Ã¿¡´Â where Àý°ú join, order by µî°ú °ü·ÃµÈ Ä®·³Áß »ç¿ë ºóµµ°¡ ³ô°í Å° °ªÀÇ ¼±º°µµ°¡ ÁÁÀº Ä®·³¿¡ »ç¿ëÇØ¾ß ÇÑ´Ù. ¹Ý´ë·Î »ç¿ë ºóµµ°¡ ³·°í Ä®·³ÀÇ ¼±º°µµ°¡ ³ª»Û, ¿¹¸¦ µé¾î ÇÑ Ä®·³ÀÇ °ªÀÌ true/false, ¼ºº°(M/F) µî¿¡´Â À妽º¸¦ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù ¶Ç Å×À̺íÀÌ À۰ųª ÀÚÁÖ °»½Å µÉ ¶§µµ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù.

 

À妽ºÀÇ »ý¼º

À妽º¿¡´Â Å©°Ô clustered¿Í nonclustered À妽º·Î ³ª´­ ¼ö ÀÖ´Ù. clustered À妽º´Â ¹°¸®Àû Á¤·Ä·Î DB¿¡ µ¥ÀÌÅ͸¦ ÀÔ·Â ½Ã ÀÌ°ÍÀ» ±âÁØÀ¸·Î ÀÔ·ÂÀÌ µÈ´Ù. µû¶ó¼­ ÇÑ Å×ÀÌºí¿¡ ¿ÀÁ÷ Çϳª¸¸ Á¸Àç ÇÒ ¼ö ÀÖÀ¸¸ç tableÀ» ¿­¾úÀ» ¶§ order by¸¦ »ç¿ëÇÏÁö ¾Ê¾Æµµ µ¥ÀÌÅÍ°¡ clustered À妽º¿¡ µû¶ó Á¤·ÄÀÌ µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù. ¹°¸®ÀûÀ¸·Î Á¤·ÄÀÌ µÇ¾î ÀÖ´Â ¸¸Å­ °¡Àå ºü¸¥ 󸮸¦ ÇÑ´Ù. nonclustered À妽º´Â clustered À妽º¿Í´Â ´Þ¸® Áߺ¹µÈ °ªÀ» °¡Áö¸é ÇÑ Å×ÀÌºí¿¡ ¿©·¯ °³¸¦ »ý¼º ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿Ü¿¡ unique¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù. unique´Â ¸» ±×´ë·Î Áߺ¹À» Çã¿ëÇÏÁö ¾Ê´Â °ªÀ» º¸È£ ÇÒ ¶§ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î ȸ¿ø °ü¸® ÇÁ·Î±×·¥¿¡¼­ ¾ÆÀ̵𰡠Áߺ¹µÇ´Â °ÍÀ» ¸·°íÀÚ ÇÑ´Ù¸é ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù. ¿ì¸®°¡ ÀÚÁÖ »ç¿ëÇÏ´Â primary keyÀÇ °æ¿ì¿¡´Â clustered¿Í unique Ư¼ºÀ» °®°Ô ÇÏ´Â Á¦¾àÅ°ÀÌ´Ù.

 

¨ç mssql

À妽º»ý¼º ¹®¹ý

CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED]
INDEX index_name ON table (column [,...n])
[WITH
[PAD_INDEX]
[[,] FILLFACTOR = fillfactor]
[[,] IGNORE_DUP_KEY]
[[,] DROP_EXISTING]
[[,] STATISTICS_NORECOMPUTE]
]
[ON filegroup]

 

À妽ºÀÇ »ý¼º ¿¹Á¦

create clustered index ix_kkaok on kkaok(seq)
width DROP_EXISTING, FILLFACTOR = 80

kkaok Å×ÀÌºí¿¡¼­ seq Ä®·³¿¡ ´ëÇØ ix_kkaok¶ó´Â Ŭ·¯½ºÅ͵å À妽º¸¦ »ý¼ºÇ϶ó´Â ¸í·É¹®ÀÌ´Ù.

DROP_EXISTING ¿É¼ÇÀº ±âÁ¸¿¡ °°Àº À̸§ÀÇ À妽º°¡ Á¸ÀçÇÑ´Ù¸é »èÁ¦ÇÏ°í »ý¼ºÇ϶ó´Â ÀǹÌÀ̸ç Fillfactor °ªÀº ¸í½ÃÇÏÁö ¾ÊÀ¸¸é ±âº»ÀûÀ¸·Î 100% ÆäÀÌÁö¿¡ ä¿ö ³ÖÀ¸¶ó´Â ¶æÀÌ´Ù. Áö±ÝÀº 80% ä¿ö ³Ö°í 20% ¿©À¯°ø°£À» °¡Áö¶ó´Â ÀǹÌÀÌ´Ù.

 

°áÇÕ À妽ºÀÇ »ý¼º ¿¹Á¦

create index ix_kkaok2 on kkaok(seq,re_step)

seq¿Í re_step µÎ °³ÀÇ Ä®·³¿¡ À妽º¸¦ »ý¼ºÇÏ¿´´Ù. °¢°¢ÀÇ Ä®·³¿¡ ´ëÇØ ³»¸²Â÷¼ø Á¤·Ä°ú ¿À¸§Â÷¼ø Á¤·Ä ¿É¼ÇÀ» ÁÙ ¼ö ÀÖÁö¸¸ mssql 7.0¿¡¼­´Â ³»¸²Â÷¼ø Á¤·ÄÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.

 

À妽º º¸±â

exec sp_helpindex 'Å×À̺íÀ̸§'

 

À妽º Á¦°Å

drop index 'table.index'[,...n]

 

À妽ºÀÇ »èÁ¦ ¿¹Á¦

drop index kkaok.ix_kkaok

 

Á¦¾àÅ°ÀÇ º¯°æ

primary key´Â À妽º°¡ ¾Æ´Ï°í Á¦¾àÅ°ÀÌ´Ù. µû¶ó¼­ À妽º¸¦ »èÁ¦ÇÏ´Â ¹æ¹ýÀ¸·Î »èÁ¦ ÇÒ ¼ö´Â ¾ø´Ù. Á¦¾àÅ°´Â ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î »èÁ¦ ¶Ç´Â º¯°æ ÇÒ ¼ö ÀÖ´Ù.

Á¦¾àÅ°ÀÇ »èÁ¦
alter table kkaok drop constraint PK_kkaok

Á¦¾àÅ°ÀÇ Ãß°¡º¯°æ
alter table kkaok add constraint PK_kkaok primary key(seq)

 

¨è oracle

À妽º»ý¼º ¹®¹ý

CREATE [BITMAP | UNIQUE]
INDEX index_name ON table (column[, column]...) ;

 

À妽ºÀÇ »ý¼º ¿¹Á¦

create unique index ix_kkaok_indx on kkaok(seq);

kkaok Å×ÀÌºí¿¡¼­ unique ÇÑ °ªÀ¸·Î seq Ä®·³¿¡ ´ëÇØ ix_kkaok_indx¶ó´Â À妽º¸¦ »ý¼ºÇ϶ó´Â ¸í·É¹®ÀÌ´Ù.

 

°áÇÕ À妽ºÀÇ »ý¼º ¿¹Á¦

create index ix_kkaok_indx2 on kkaok(seq,re_step);

seq ¿Í re_step µÎ °³ÀÇ Ä®·³¿¡ À妽º¸¦ »ý¼ºÇÑ´Ù. °¢°¢ÀÇ Ä®·³¿¡ ´ëÇØ ³»¸²Â÷¼ø°ú ¿À¸§Â÷¼ø Á¤·Ä ¿É¼ÇÀ» ÁÙ ¼ö ÀÖÀ¸³ª hint¸¦ »ç¿ë½Ã Á¤·ÄÀÌ ¾ÈµÇ´Â °æ¿ì°¡ À־ Á¤·Ä°ú °ü·ÃµÈ °ÍÀº hint¿¡¼­ 󸮸¦ ÇÏ¸é µÈ´Ù.

 

À妽º º¸±â

select index_name, index_type from user_indexes;

 

À妽º Á¦°Å

drop index Àε¦¸í

 

À妽ºÀÇ »èÁ¦ ¿¹Á¦

drop index ix_kkaok_indx;

 

Á¦¾àÅ°ÀÇ »èÁ¦ ¿¹Á¦

alter table kkaok drop constraint kkaok_pk_re_step;

 

Á¦¾àÅ°ÀÇ Ãß°¡ ¿¹Á¦

alter table kkaok add constraint kkaok_pk_indx2 unique(seq);

 

¨é mysql

À妽º»ý¼º ¹®¹ý

BLOB°ú TEXT ŸÀÔÀ» Á¦¿ÜÇÑ ¸ðµç mysqlÀÇ Ä®·³ ŸÀÔÀº À妽º·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. ÇÑ Å×ÀÌºí¿¡´Â 16°³ÀÇ À妽º¸¦ »ý¼ºÇÒ ¼ö ÀÖÀ¸¸ç ÃÖ´ë À妽ºÀÇ ±æÀÌ´Â 256¹ÙÀÌÆ®ÀÌ´Ù. ¶ÇÇÑ À妽º¿¡ »ç¿ëµÇ´Â Ä®·³Àº NOT NULLÀ̾î¾ß ÇÑ´Ù. À妽ºÀÇ »ý¼ºÀº Å×À̺íÀ» »ý¼ºÇÒ ¶§ ´ÙÀ½Ã³·³ »ý¼ºÇÏ¸é µÈ´Ù.

KEY [À妽º¸í] (col1(length),col2(length),...)

 

À妽ºÀÇ »ý¼º ¿¹Á¦

CREATE TABLE test (
id CHAR(20) NOT NULL,
name CHAR(200) NOT NULL,
PRIMARY KEY (id),
KEY index_name (name(200)));

 

À妽ºÀÇ Ãß°¡ ¿¹Á¦

ALTER TABLE test ADD INDEX index_id (id)

 

À妽º Á¦°Å

ALTER TABLE [Å×À̺í¸í] DROP INDEX [»èÁ¦ÇÒ À妽º¸í]

 

À妽ºÀÇ »èÁ¦ ¿¹Á¦

ALTER TABLE test DROP INDEX index_name

 

PRIMARY KEYÀÇ »èÁ¦

ALTER TABLE test DROP PRIMARY KEY

 

PRIMARY KEYÀÇ Ãß°¡

ALTER TABLE test ADD PRIMARY KEY (id)


¸ñ·Ï

ºÐ·ù ¼±ÅÃ
138 ÀÏ¹Ý ÀÏ°ýó¸® Äõ¸®¹® È£¼® 13-02-21 1827
137 ÀÏ¹Ý mysql Æ©´× ÃÖÀûÈ­ È£¼® 12-04-07 1779
136 ÀÏ¹Ý ¿À¶óŬÀÇ sequence ÃʱâÈ­ È£¼® 11-11-24 2231
135 ÀÏ¹Ý ·¹µåÇÞ ¿£ÅÍÇÁ¶óÀÌÁî4¿¡ ¿À¶óŬ9i(9.2.0.4)¼³Ä¡ È£¼® 11-10-07 1797
134 ÀÏ¹Ý not in º¸´Ù´Â exist ¸¦ ¸¹ÀÌ »ç¿ëÇغ¸ÀÚ È£¼® 11-04-04 2064
133 ÀÏ¹Ý INDEXÀÇ »ç¿ë¿©ºÎ È®ÀÎÇϱâ È£¼® 11-04-01 1552
132 ÀÏ¹Ý Standby Database ±¸Ãà[ GOOD GOOD ] È£¼® 11-03-16 1620
131 ÀÏ¹Ý Linux ¹× Windows ȯ°æÀ» À§ÇÑ PHP, Oracle 10g Instant Client ¼³Ä¡ È£¼® 11-01-07 1632
130 ÀÏ¹Ý Åäµå³ª ¿À·»Áö ´ëü ¹«·á ¿À¶óŬ Åø È£¼® 10-12-30 1918
129 ÀÏ¹Ý ½ÃÄö½º »ç¿ë¹æ¹ý ( SEQUENCE ) È£¼® 10-04-22 2971
128 ÀÏ¹Ý ¿À¶óŬ ¶óÀ̼¾½º À¯Á® »êÁ¤¹ý È£¼® 10-04-13 2837
127 ÀÏ¹Ý ¿À¶óŬ ¹é¾÷ ¹æ¹ý ( cold ¹é¾÷, hot¹é¾÷, export ¹é¾÷ ) È£¼® 10-02-17 3441
126 ÀÏ¹Ý ¿À¶óŬ ¼³Ä¡½Ã ÀÚ¹Ù°ü·Ã ¿¡·¯Ã³¸® ÄÉÀ̽º È£¼® 10-02-17 2688
125 ÀÏ¹Ý pfile°ú spfile ÀÇ Â÷ÀÌÁ¡ È£¼® 10-02-01 3373
124 ÀÏ¹Ý Standby Database ±¸Ãà È£¼® 10-01-31 2787
1 [2] [3] [4] [5] [6] [7] [8] [9] [10]  ´ÙÀ½¸Ç³¡

 
Copyright © zenos.pe.kr. All rights reserved.