Ãâ·Â¿¡¼ °¢ ÆÐŰÁö¿¡ ´ëÇÑ Explain Á¤º¸´Â ´ÙÀ½ÀÇ µÎ ºÎºÐÀ¸·Î ±¸ºÐµË´Ï´Ù.
¾×¼¼½º Ç÷£ ¶Ç´Â ¼½¼ÇÀÇ ´Ü°è´Â µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ ½ÇÇà½ÃŲ ¼ø¼´ë·Î ³ªÅ¸³³´Ï´Ù. °¢ ÁÖ¿ä ´Ü°è´Â ¿ÞÂÊÀ¸·Î ÁÙ¸ÂÃãÇÏ¿© Ç¥½ÃµÇ¸ç, ÇØ´ç ´Ü°è¿¡ °üÇÑ Á¤º¸°¡ ¹Ù·Î ¹Ø¿¡ µé¿©¾²±â·Î Ç¥½ÃµË´Ï´Ù. ¾×¼¼½º Ç÷£¿¡ ´ëÇÑ Explain Ãâ·Â¿¡´Â Ãâ·Â¹°ÀÇ ¿ÞÂÊ ¿©¹é¿¡ µé¿©¾²±â ¸·´ë°¡ Ç¥½ÃµË´Ï´Ù. ÀÌ ¸·´ë´Â ¶ÇÇÑ ¿¬»ê "¹üÀ§"¸¦ ³ªÅ¸³»±âµµ ÇÕ´Ï´Ù. °°Àº ¿¬»ê ³»ÀÇ ³·Àº ·¹º§ÀÇ ¿¬»ê(Áï ¿À¸¥ÂÊÀ¸·Î °¥¼ö·Ï ³ôÀº ¼öÁØÀÇ ¿¬»ê)Àº ÀÌÀüÀÇ µé¿©¾²±â ·¹º§·Î ¸®ÅϵDZâ Àü¿¡ 󸮵˴ϴÙ.
¼±ÅÃµÈ ¾×¼¼½º Ç÷£ÀÌ ¿ø·¡ÀÇ SQL¹®ÀÇ È®´ëµÈ ¹öÀü(Ãâ·Â¿¡ ³ªÅ¸³ °Í)ÀÓÀ» ±â¾ïÇϽʽÿÀ. ¿¹¸¦ µé¸é, ¿ø·¡ÀÇ ¸í·É¹®Àº °³¼ö¿¡ »ó°ü¾øÀÌ Æ®¸®°Å¿Í °Á¦ ±ÔÁ¤À» Ȱ¼ºÈ½Ãų ¼öµµ ÀÖ½À´Ï´Ù. ¶ÇÇÑ, SQL¹®ÀÌ SQL ÄÄÆÄÀÏ·¯ÀÇ Á¶È¸ ÀçÀÛ¼º(Query Rewrite) ±¸¼º¿ä¼Ò¿¡ ÀÇÇØ °°Àº ³»¿ëÀÇ ±×·¯³ª, ´õ È¿À²ÀûÀÎ Çü½ÄÀ¸·Î ÀçÀÛ¼ºµÉ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸ðµç ¿ä¼Ò´Â ÃÖÀûÈ¾Ë°í¸®ÁòÀÌ ¸í·É¹®À» ÃæÁ·½Ãų °¡Àå È¿À²ÀûÀÎ ¾×¼¼½º Ç÷£À» °áÁ¤ÇÒ ¶§, ÃÖÀûÈ ¾Ë°í¸®Áò¿¡°Ô Á¦°øµÇ´Â Á¤º¸¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Explain Ãâ·Â¿¡ ³ªÅ¸³ª´Â ¾×¼¼½º Ç÷£Àº ¿ø·¡ÀÇ SQL¹®¿¡ ´ëÇØ ¿¹»óÇÏ´Â ¾×¼¼½º Ç÷£°ú´Â ±Ùº»ÀûÀ¸·Î ´Ù¸¦ ¼öµµ ÀÖ½À´Ï´Ù. ÅëÇÕ Explain ±â´É(SQL Explain ±â´É ÂüÁ¶)Àº ½ÇÁ¦ ÃÖÀûÈ¿¡ »ç¿ëµÇ´Â SQL¹®À» SQL°ú À¯»çÇÑ ¸í·É¹®ÀÇ ÇüÅ·Πº¸¿©Áִµ¥, ÀÌ´Â ³»ºÎÀûÀ¸·Î Ç¥½ÃµÇ´Â Á¶È¸ÀÇ ÇüŸ¦ ¿ªº¯È¯(reverse-translating)½ÃÄѼ »ý¼ºµÈ °ÍÀÔ´Ï´Ù.
db2expln ¶Ç´Â dynexplnÀÇ Ãâ·ÂÀ» Explain ±â´ÉÀÇ Ãâ·Â°ú ºñ±³ÇÒ ¶§ ¿¬»êÀÚ ID ¿É¼Ç(-i)À» »ç¿ëÇÏ¸é ¸Å¿ì À¯¿ëÇÕ´Ï´Ù. db2expln ¶Ç´Â dynexplnÀÌ Explain ±â´ÉÀ» ÅëÇØ »õ ¿¬»êÀÚ¸¦ ó¸®Çϱ⠽ÃÀÛÇÒ ¶§¸¶´Ù, ¼³¸íµÇ´Â Ç÷£ÀÇ ¿ÞÂÊ¿¡ ¿¬»êÀÚ ID ¹øÈ£°¡ ÀμâµË´Ï´Ù. ¾×¼¼½º Ç÷£ÀÇ ´Ù¾çÇÑ Ç¥Çö¿¡¼ÀÇ ´Ü°è¸¦ ¸ÂÃß´Â µ¥ ¿¬»êÀÚ ID¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Explain ±â´É Ãâ·ÂÀÇ ¿¬»êÀÚ¿Í db2expln ¹× dynexpln¿¡ ÀÇÇØ Ç¥½ÃµÇ´Â Á¶ÀÛ°£¿¡ Ç×»ó ÀÏ´ëÀÏ ´ëÀÀÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ô¿¡ À¯ÀÇÇϽʽÿÀ.
´ÙÀ½ ÁÖÁ¦¿¡¼´Â db2expln ¹× dynexpln¿¡ ÀÇÇØ »ý¼ºµÉ ¼ö ÀÖ´Â Explain ÅØ½ºÆ®¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
ÀÌ ¸í·É¹®¿¡¼´Â ¾×¼¼½ºµÇ´Â Å×À̺í À̸§°ú À¯ÇüÀ» º¸¿©ÁÝ´Ï´Ù. ¿©±â¿¡´Â µÎ °¡Áö Çü½ÄÀÌ »ç¿ëµË´Ï´Ù.
Access Table Name = schema.name ID = ts,n¿©±â¼´Â ´ÙÀ½ÀÌ Àû¿ëµË´Ï´Ù.
Access Hierarchy Table Name = schema.name ID = ts,n¿©±â¼´Â ´ÙÀ½ÀÌ Àû¿ëµË´Ï´Ù.
Access Summary Table Name = schema.name ID = ts,n¿©±â¼´Â ´ÙÀ½ÀÌ Àû¿ëµË´Ï´Ù.
Access Temp Table ID = tn¿©±â¼´Â ´ÙÀ½ÀÌ Àû¿ëµË´Ï´Ù.
Access Global Temp Table ID = ts,tn¿©±â¼´Â ´ÙÀ½ÀÌ Àû¿ëµË´Ï´Ù.
Å×ÀÌºí ¾×¼¼½º¹®¿¡ ÀÌ¾î ¾×¼¼½º¸¦ ´õ ÀÚ¼¼È÷ ¼³¸íÇϱâ À§ÇØ Ãß°¡ ¸í·É¹®ÀÌ Á¦°øµË´Ï´Ù. ÀÌ ¸í·É¹®Àº Å×ÀÌºí ¾×¼¼½º¹® ¹Ø¿¡ µé¿©¾²±âµË´Ï´Ù. °¡´ÉÇÑ ¸í·É¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½ ¸í·É¹®Àº °¢ Å×À̺í Çà¿¡¼ »ç¿ëµÇ´Â Ä÷³ÀÇ ¼ö¸¦ ³ªÅ¸³À´Ï´Ù.
#Columns = n
´ÙÀ½ ¸í·É¹®Àº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ ¸î¸î ¼ºê¿¡ÀÌÀüÆ®¸¦ »ç¿ëÇÏ¿© Å×À̺í·ÎºÎÅÍ º´·Ä·Î ÀÐÀ» °ÍÀÓÀ» ³ªÅ¸³À´Ï´Ù.
Parallel Scan
ÀÌ ÅØ½ºÆ®°¡ Ç¥½ÃµÇÁö ¾ÊÀ» °æ¿ì, Å×À̺íÀº ÇÑ ¿¡ÀÌÀüÆ®(¶Ç´Â ¼ºê¿¡ÀÌÀüÆ®)¿¡ ÀÇÇØ¼¸¸ ÀÐÇôÁú ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ¸í·É¹®Àº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ ÇàÀ» ¿ª¼ø¼·Î ÀÐÀ» °ÍÀÓÀ» ³ªÅ¸³À´Ï´Ù.
Scan Direction = Reverse
ÀÌ ÅØ½ºÆ®°¡ ³ªÅ¸³ªÁö ¾ÊÀ¸¸é, ½ºÄµ ¹æÇâÀº ÁøÇà ¹æÇâÀ̸ç, ÀÌ´Â ±âº»°ªÀÔ´Ï´Ù.
´ÙÀ½ ¸í·É¹® Áß Çϳª°¡ Ç¥½ÃµÇ¾î Å×À̺íÀÇ ±ÔÁ¤ Çà¿¡ ¾×¼¼½ºÇÏ´Â ¹æ½ÄÀ» ³ªÅ¸³À´Ï´Ù.
Relation Scan | Prefetch: None
Relation Scan | Prefetch: n Pages
Relation Scan | Prefetch: Eligible
Index Scan: Name = schema.name ID = xx | Index Columns:
¿©±â¼´Â ´ÙÀ½ÀÌ Àû¿ëµË´Ï´Ù.
»öÀÎÀÇ °¢ Ä÷³ÀÇ µÚ¿¡ ÇϳªÀÇ ÇàÀÌ ¿Í¾ß ÇÕ´Ï´Ù. »öÀÎÀÇ °¢ Ä÷³Àº ´ÙÀ½ ¾ç½Ä Áß Çϳª·Î ³ª¿µË´Ï´Ù.
n: column_name(¿À¸§Â÷¼ø) n: column_name(³»¸²Â÷¼ø) n: column_name(Æ÷ÇÔ Ä÷³)
´ÙÀ½ ¸í·É¹®Àº »öÀÎ ½ºÄµÀÇ À¯ÇüÀ» ¸íÈ®È÷ º¸¿©ÁÖ±â À§ÇØ Á¦°øµË´Ï´Ù.
#Key Columns = n | Start Key: xxxxx | Stop Key: xxxxx
¿©±â¼, xxxxx´Â ´ÙÀ½ Áß ÇϳªÀÔ´Ï´Ù.
Æ÷ÇԵǴ Ű °ªÀº »öÀÎ ½ºÄµ¿¡ Æ÷ÇԵ˴ϴÙ. Á¦¿ÜµÇ´Â Ű °ªÀº ½ºÄµ¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ŰÀÇ °¢ ºÎºÐ¿¡ ´ëÇÑ Å° °ªÀº ´ÙÀ½ Çà Áß Çϳª·Î Á¦°øµË´Ï´Ù.
n: 'string' n: nnn n: yyyy-mm-dd n: hh:mm:ss n: yyyy-mm-dd hh:mm:ss.uuuuuu n: NULL n: ?
¸®ÅÍ·² ¹®ÀÚ¿ÀÌ Ç¥½ÃµÇ´Â °æ¿ì, óÀ½ 20ÀÚ¸¸ÀÌ Ç¥½ÃµË´Ï´Ù. ¹®ÀÚ¿ÀÌ 21ÀÚ ÀÌ»óÀÎ °æ¿ì¿¡´Â µÚ¿¡ ... ¹®ÀÚ¿ÀÌ Ç¥½ÃµË´Ï´Ù. ÀϺΠŰ´Â ¼½¼ÇÀÌ ½ÇÇàµÉ ¶§±îÁö °áÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ Å°´Â °ªÀ¸·Î ?°¡ Ç¥½ÃµË´Ï´Ù.
¸ðµç ÇÊ¿äÇÑ Ä÷³ÀÌ »öÀΠŰ·ÎºÎÅÍ ±¸ÇØÁú ¼ö ÀÖÀ» °æ¿ì, ÀÌ ¸í·É¹®ÀÌ ³ªÅ¸³ª°í Å×ÀÌºí µ¥ÀÌÅͰ¡ ¾×¼¼½ºµË´Ï´Ù.
Index Prefetch: None
Index Prefetch: Eligible
Data Prefetch: None
Data Prefetch: Eligible
Sargable Index Predicate(s) | #Predicates = n
°¢ Å×ÀÌºí ¾×¼¼½ºÀÇ °æ¿ì, ´ÙÀ½ ¸í·É¹®À» »ç¿ëÇϸé Å×ÀÌºí ¹× Çà ·¹º§¿¡¼ È®º¸µÇ´Â Àá±ÝÀÇ À¯ÇüÀÌ Ç¥½ÃµË´Ï´Ù.
Lock Intents | Table: xxxx | Row : xxxx
Å×À̺í Àá±Ý¿¡ ´ëÇÑ °¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
Çà Àá±Ý¿¡ ´ëÇÑ °¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
Àá±Ý À¯ÇüÀº Àá±Ý ¼Ó¼º¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
¾×¼¼½º Ç÷£¿¡ »ç¿ëµÇ´Â ¼ú¾î¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÏ´Â ¸í·É¹®¿¡´Â ´ÙÀ½ÀÇ µÎ °¡Áö°¡ ÀÖ½À´Ï´Ù.
Residual Predicate(s) | #Predicates = n
Sargable Predicate(s) | #Predicates = n
À§ ¸í·É¹®¿¡ ³ªÅ¸³ ¼ú¾î¿¡ ´ÙÀ½ Çö»óÀÌ ³ªÅ¸³¯ ¼ö ÀÖÀ¸¹Ç·Î, ¼ö°¡ SQL¹®¿¡ Á¦°øµÈ ¼ú¾îÀÇ ¼ö¸¦ ¹Ý¿µÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
Single Record
Isolation Level: xxxx´ÙÀ½°ú °°Àº ¸¹Àº ÀÌÀ¯·Î ´Ù¸¥ ºÐ¸® ·¹º§ÀÌ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
Keep Rows In Private Memory
Volatile Cardinality
Àӽà Å×À̺íÀº ¾×¼¼½º Ç÷£ÀÌ ½ÇÇàµÇ´Â µ¿¾È ÀϽÃÀûÀÎ ÀÛ¾÷ Å×ÀÌºí¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇØ ¾×¼¼½º Ç÷£¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. ÀÌ Å×À̺íÀº ¾×¼¼½º Ç÷£ÀÌ ¼öÇàµÇ´Â µ¿¾È¿¡¸¸ Á¸ÀçÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, Àӽà Å×À̺íÀº ¾×¼¼½º Ç÷£ Ãʱ⿡ ºÎ¼Ó Á¶È¸°¡ Æò°¡µÇ¾î¾ß ÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì ¶Ç´Â Áß°£ °á°ú°¡ »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®¿¡ ¸ÂÁö ¾Ê´Â °æ¿ì¿¡ »ç¿ëµË´Ï´Ù.
Àӽà Å×À̺íÀÌ »ý¼ºµÉ Çʿ䰡 ÀÖÀ» °æ¿ì, µÎ °¡Áö ¸í·É¹® Áß Çϳª°¡ ³ªÅ¸³³´Ï´Ù. ÀÌµé ¸í·É¹®Àº Àӽà Å×À̺íÀÌ »ý¼ºµÇ°í ÇàÀÌ Å×ÀÌºí¿¡ »ðÀԵǴ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ID´Â Àӽà Å×À̺íÀ» ¾ð±ÞÇÒ ¶§ Æí¸®Çϵµ·Ï db2explnÀÌ ÇÒ´çÇÑ ½Äº°ÀÚÀÔ´Ï´Ù. ÀÌ ID´Â ¾Õ¿¡ 't'¸¦ ºÙ¿© Å×À̺íÀÌ Àӽà Å×À̺íÀÓÀ» ³ªÅ¸³À´Ï´Ù.
Insert Into Temp Table ID = tn
Insert Into Shared Temp Table ID = tn
Insert Into Sorted Temp Table ID = tn
Insert Into Sorted Shared Temp Table ID = tn
Insert Into Global Temp Table ID = ts,tn
Insert Into Shared Global Temp Table ID = ts,tn
Insert Into Sorted Global Temp Table ID = ts,tn
Insert Into Sorted Shared Global Temp Table ID = ts,tn
À§ÀÇ °¢ ¸í·É¹® µÚ¿¡´Â ´ÙÀ½ Ç׸ñÀÌ ³ª¿É´Ï´Ù.
#Columns = n
ÀÌ´Â Àӽà Å×ÀÌºí¿¡ »ðÀԵǰí ÀÖ´Â °¢ Çà¿¡ ¾ó¸¶³ª ¸¹Àº ¼öÀÇ Ä÷³ÀÌ ÀÖ´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù.
Á¤·ÄµÈ Àӽà Å×À̺íÀº ´ÙÀ½ Á¶ÀÛÀ¸·ÎºÎÅÍ ÀÛ¼ºµÉ ¼ö ÀÖ½À´Ï´Ù.
¸¹Àº Ãß°¡ ¸í·É¹®ÀÌ Á¤·ÄµÈ Àӽà Å×ÀÌºí¿¡ ´ëÇÑ ¿ø·¡ÀÇ ÀÛ¼º¹® µÚ¿¡ µû¶ó ³ª¿Ã ¼ö ÀÖ½À´Ï´Ù.
#Sort Key Columns = n
Á¤·Ä ŰÀÇ °¢ Ä÷³¿¡ ´ëÇØ ´ÙÀ½ Çà Áß Çϳª°¡ Ç¥½ÃµË´Ï´Ù.
Key n: column_name (¿À¸§Â÷¼ø) Key n: column_name (³»¸²Â÷¼ø) Key n: (¿À¸§Â÷¼ø) Key n: (³»¸²Â÷¼ø)
Sortheap Allocation Parameters: | #Rows = n | Row Width = n
Sort Limited To Estimated Row Count
Use Partitioned Sort Use Shared Sort Use Replicated Sort Use Round-Robin Sort
´Ù¸¥ Á¤·Ä ±â¹ý¿¡ ´ëÇÑ ¼³¸íÀº º´·Ä Á¤·Ä Àü·«¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
Piped
±×¸®°í
Not Piped
ÆÄÀÌÇÁ Á¤·ÄÀ» °¡¸®Å³ °æ¿ì, µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥Àº Á¤·ÄµÈ °á°ú¸¦ ´Ù¸¥ Àӽà Å×ÀÌºí¿¡ ³õ±â º¸´Ù´Â ¸Þ¸ð¸®ÀÇ Á¤·ÄµÈ Ãâ·Â¿¡ º¸Á¸ÇÕ´Ï´Ù(ÆÄÀÌÇÁµÈ Á¤·Ä ´ë ÆÄÀÌÇÁµÇÁö ¾ÊÀº Á¤·ÄÀÇ ¼³¸íÀº Á¤·ÄÀÌ ÃÖÀûÈ ¾Ë°í¸®Áò¿¡ ¹ÌÄ¡´Â ¿µÇâ¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ).
Duplicate Elimination
Partial Aggregation Intermediate Aggregation Buffered Partial Aggregation Buffered Intermediate Aggregation
Àӽà Å×À̺íÀ» »ý¼ºÇϱâ À§ÇÑ Çª½Ã´Ù¿î ¿¬»êÀ» Æ÷ÇÔÇÑ Å×ÀÌºí ¾×¼¼½º ÈÄ¿¡(Áï, Å×ÀÌºí ¾×¼¼½ºÀÇ ¹üÀ§ ³»¿¡¼ ¹ß»ýÇÏ´Â Àӽà Å×ÀÌºí »ý¼º), "¿Ï·á(completion)" ¸í·ÉÀÌ ³ªÅ¸³ª°Ô µÇ´Âµ¥, ÀÌ´Â Àӽà Å×À̺íÀÌ ÇàÀ» Á¦°øÇÏ¿© ÈÄ¼Ó Àӽà Å×ÀÌºí ¾×¼¼½º¿¡ ´ëºñÇϵµ·Ï ÇÔÀ¸·Î½á ÆÄÀÏÀÇ ³¡(end-of-file) ÀÛ¾÷À» ÇÏ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½ Çà Áß Çϳª°¡ Ç¥½ÃµË´Ï´Ù.
Temp Table Completion ID = tn Shared Temp Table Completion ID = tn Sorted Temp Table Completion ID = tn Sorted Shared Temp Table Completion ID = tn
Å×À̺í ÇÔ¼ö´Â µ¥ÀÌÅ͸¦ Å×À̺í Çü½ÄÀ¸·Î ¸í·É¹®¿¡ ¸®ÅÏÇÏ´Â »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö(UDF)ÀÔ´Ï´Ù. Å×À̺í ÇÔ¼ö¿¡ ´ëÇØ¼´Â SQL ÂüÁ¶¼¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ. Å×À̺í ÇÔ¼ö´Â ´ÙÀ½°ú °°ÀÌ ¸í·É¹®¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù.
Access User Defined Table Function | Name = schema.funcname | Language = xxxx | Fenced Deterministic NULL Call Disallow Parallel
Å×À̺í ÇÔ¼ö°¡ ÀÛ¼ºµÈ ¾ð¾î(C, OLE ¶Ç´Â Java)´Â Å×À̺í ÇÔ¼öÀÇ ¼Ó¼º°ú ÇÔ²² ºÎ¿©µË´Ï´Ù.
Á¶Àο¡´Â ¼¼ °¡Áö À¯ÇüÀÌ ÀÖ½À´Ï´Ù(À̵é Á¶Àο¡ ´ëÇÑ ¼³¸íÀº Á¶ÀÎ °³³ä¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ).
¼½¼Ç ½ÇÇà¿¡¼ Á¶ÀÎÀÌ ¼öÇàµÉ ¶§, ´ÙÀ½ ¸í·É¹® Áß Çϳª°¡ Ç¥½ÃµË´Ï´Ù.
Hash Join
¶Ç´Â
Merge Join
¶Ç´Â
Nested Loop Join
¿ÞÂÊ ¿ÜºÎ Á¶ÀÎÀÌ ¼öÇàµÉ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¸í·É¹® Áß Çϳª°¡ ¿ÞÂÊÀÇ ¿ÜºÎ Á¶ÀÎÀ» ³ªÅ¸³À´Ï´Ù.
Left Outer Hash Join
¶Ç´Â
Left Outer Merge Join
¶Ç´Â
Left Outer Nested Loop Join
º´ÇÕ ¹× ÁßøµÈ ·çÇÁ Á¶ÀÎÀÇ °æ¿ì Á¶ÀÎÀÇ ¿ÜºÎ Å×À̺íÀÌ Ãâ·Â¿¡ ³ªÅ¸³ª´Â ÀÌÀü ¾×¼¼½º ¸í·É¹®¿¡¼ ÂüÁ¶µÇ´Â Å×À̺íÀÌ µË´Ï´Ù. Á¶ÀÎÀÇ ³»ºÎ Å×À̺íÀº Á¶Àι®ÀÇ ¹üÀ§ ³»¿¡ Æ÷ÇԵǾî ÀÖ´Â ¾×¼¼½º ¸í·É¹®¿¡¼ ÂüÁ¶µÈ Å×À̺íÀÌ µË´Ï´Ù. ÇØ½¬ Á¶ÀÎÀÇ °æ¿ì, ¾×¼¼½º ¸í·É¹®¿¡¼ Á¶ÀÎÀÇ ¹üÀ§ ³»¿¡ Æ÷ÇÔµÈ ¿ÜºÎ Å×ÀÌºí ¹× Á¶ÀÎ ¾Õ¿¡ ³ªÅ¸³ª´Â ³»ºÎ Å×À̺íÀÌ ¼·Î ¹Ù²ò´Ï´Ù.
ÇØ½¬ ¶Ç´Â º´ÇÕ Á¶ÀÎÀÇ °æ¿ì, ´ÙÀ½ ¸í·É¹®ÀÌ Ãß°¡·Î Ç¥½ÃµË´Ï´Ù.
Early Out: Single Match Per Outer Row
Residual Predicate(s) | #Predicates = n
ÇØ½¬ Á¶ÀÎÀÇ °æ¿ì, ´ÙÀ½ ¸í·É¹®ÀÌ Ãß°¡·Î Ç¥½ÃµË´Ï´Ù.
Process Hash Table For Join
Process Probe Table For Hash Join
Estimated Build Size: n
Estimated Probe Size: n
Áßø ·çÇÁ Á¶ÀÎÀÇ °æ¿ì, ´ÙÀ½°ú °°Àº Ãß°¡ ¸í·É¹®ÀÌ Á¶Àι® ¹Ù·Î ´ÙÀ½¿¡ ³ª¿Ã ¼ö ÀÖ½À´Ï´Ù.
Piped Inner
ÀÌ ¸í·É¹®Àº Á¶ÀÎÀÇ ³»ºÎ Å×À̺íÀÌ ´Ù¸¥ ÀÏ·ÃÀÇ ¿¬»êÀÇ °á°úÀÓÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ´Â ¶ÇÇÑ composite inner·Î¼ ÂüÁ¶µÇ±âµµ ÇÕ´Ï´Ù.
Á¶Àο¡ ¼¼ °³ ÀÌ»óÀÇ Å×À̺íÀÌ Æ÷ÇԵǴ °æ¿ì, Explain °úÁ¤Àº ¸Ç À§¿¡¼ºÎÅÍ ¾Æ·¡±îÁö ÀüºÎ ÀÐÇô¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, Explain Ãâ·Â È帧ÀÌ ´ÙÀ½°ú °°´Ù°í °¡Á¤ÇϽʽÿÀ.
Access ..... W Join | Access ..... X Join | Access ..... Y Join | Access ..... Z
½ÇÇà ´Ü°è´Â ´ÙÀ½°ú °°½À´Ï´Ù.
¾×¼¼½º Ç÷£ ³»¿¡¼ ¶§·Î µ¥ÀÌÅÍÀÇ »ý¼º ¹× È帧À» ÇϳªÀÇ ¿¬»ê¿¡¼ ´Ù¸¥ ¿¬»êÀ¸·Î Á¦¾îÇÒ Çʿ䰡 ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍ ½ºÆ®¸² °³³äÀº ¾×¼¼½º Ç÷£ ³»¿¡¼ ¿¬»ê ±×·ìÀÌ ÇϳªÀÇ ´ÜÀ§·Î Á¦¾îµÉ ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù. µ¥ÀÌÅÍ ½ºÆ®¸²ÀÇ ½ÃÀÛÀº ´ÙÀ½ ¸í·É¹®À¸·Î Ç¥½ÃµË´Ï´Ù.
Data Stream n
¿©±â¼, nÀº ÂüÁ¶Çϱ⠽±µµ·Ï Çϱâ À§ÇØ db2explnÀÌ ÇÒ´çÇÑ °íÀ¯ ½Äº°ÀÚÀÔ´Ï´Ù. µ¥ÀÌÅÍ ½ºÆ®¸²ÀÇ ³¡Àº ´ÙÀ½À¸·Î Ç¥½ÃµË´Ï´Ù.
End of Data Stream n
ÀÌ ¸í·É¹®°£ÀÇ ¸ðµç ¿¬»êÀº °°Àº µ¥ÀÌÅÍ ½ºÆ®¸²À¸·Î °£Áֵ˴ϴÙ.
µ¥ÀÌÅÍ ½ºÆ®¸²Àº ¸î °¡Áö Ư¡À» °¡Áö°í ÀÖÀ¸¸ç Çϳª ÀÌ»óÀÇ ¸í·É¹®ÀÌ ÀÌ·¯ÇÑ Æ¯Â¡À» ±â¼úÇϱâ À§ÇØ ÃÖÃÊÀÇ µ¥ÀÌÅÍ ½ºÆ®¸²¹® µÚ¿¡ µû¶ó¿Ã ¼ö ÀÖ½À´Ï´Ù.
Correlated
Piped±×¸®°í
Not Piped
ÆÄÀÌÇÁ µ¥ÀÌÅÍ ½ºÆ®¸²Àº Àӽà Å×ÀÌºí¿¡¼ ó·³ ¼öÇà½Ã ¸Þ¸ð¸®°¡ ºÎÁ·ÇÑ °æ¿ì µð½ºÅ©¿¡ ÀÛ¼ºµÉ ¼öµµ ÀÖ½À´Ï´Ù. ¾×¼¼½º Ç÷£Àº µÎ °¡Áö °¡´É¼ºÀ» ¸ðµÎ Á¦°øÇÕ´Ï´Ù.
Single Record
µ¥ÀÌÅÍ ½ºÆ®¸²¿¡ ¾×¼¼½ºµÇ¸é ´ÙÀ½ µ¥ÀÌÅÍ ½ºÆ®¸²ÀÌ Ãâ·Â¿¡ ³ªÅ¸³³´Ï´Ù.
Access Data Stream n
ÀÌ SQL¹®µé¿¡ ´ëÇÑ Explain ¿ø¹®Àº ÀÚü ¼³¸íÀûÀÔ´Ï´Ù. ÀÌ·¯ÇÑ SQL ¿¬»ê¿¡ ´ëÇÑ °¡´ÉÇÑ ¸í·É¹® ÅØ½ºÆ®´Â ´ÙÀ½ÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù.
ÀϺΠ¾×¼¼½º Ç÷£ÀÇ °æ¿ì, ±ÔÁ¤ÈÁßÀÎ Çà ½Äº°ÀÚ(RID)°¡ Á¤·ÄµÇ°í Áߺ¹ÀÌ Á¦°ÅµÇ°Å³ª(»öÀÎ ORingÀÇ °æ¿ì) ½ÇÁ¦ Å×ÀÌºí ¾×¼¼½º°¡ ¼öÇàµÇ±â Àü¿¡ ¾×¼¼½ºÁßÀÎ ¸ðµç »öÀο¡ Ç¥½ÃµÇ´Â RID¸¦ ½Äº°ÇÏ´Â µ¥ ±â¼úÀ» »ç¿ëÇÏ´Â °ÍÀÌ(»öÀÎ ANDingÀÇ °æ¿ì) º¸´Ù À¯¿ëÇÕ´Ï´Ù. Explain¹®¿¡ ÀÇÇØ ÁöÁ¤µÈ °Íó·³ ´ÙÀ½°ú °°Àº ¼¼ °¡Áö °æ¿ì¿¡ ÁÖ·Î RID Áغñ°¡ »ç¿ëµË´Ï´Ù.
Index ORing RID Preparation
Index ORingÀº Çϳª ÀÌ»óÀÇ »öÀÎ ¾×¼¼½º¸¦ ¸¸µé°í, ¾×¼¼½ºµÈ ¸ðµç »öÀο¡ ³ªÅ¸³ª´Â ¶Ñ·ÇÇÑ RID°¡ Æ÷ÇԵǵµ·Ï ±× °á°ú¸¦ °áÇÕÇÏ´Â ±â¹ýÀ» ¸»ÇÕ´Ï´Ù. ÃÖÀûÈ ¾Ë°í¸®ÁòÀº ¼ú¾î°¡ OR Ű¿öµå¿¡ ÀÇÇØ ¿¬°áµÇ°Å³ª IN ¼ú¾î°¡ ÀÖÀ» ¶§ »öÀÎ OR ÀÛ¾÷À» °í·ÁÇÕ´Ï´Ù. »öÀÎ ¾×¼¼½º´Â °°°Å³ª ´Ù¸¥ »öÀεé À§¿¡¼ °¡´ÉÇÕ´Ï´Ù.
List Prefetch RID Preparation
Index ANDing
ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ °á°ú ¼¼Æ®ÀÇ Å©±â¸¦ ÃßÁ¤ÇÑ °æ¿ì, ÃßÁ¤Ä¡´Â ´ÙÀ½ ¸í·É¹®À» »ç¿ëÇϸé Ç¥½ÃµË´Ï´Ù.
Optimizer Estimate of Set Size: n
»öÀÎ ANDing ÇÊÅÍ Á¶ÀÛÀº RID¸¦ ó¸®ÇÏ°í ºñÆ® ÇÊÅÍ ±â¼úÀ» »ç¿ëÇÏ¿© ¾×¼¼½ºµÇ´Â ¸ðµç »öÀο¡ Ç¥½ÃµÇ´Â RID¸¦ ÆÇº°ÇÕ´Ï´Ù. ´ÙÀ½ ¸í·É¹®Àº RID°¡ »öÀÎ ANDing¿¡ ´ëÇØ 󸮵ÊÀ» ³ªÅ¸³À´Ï´Ù.
Index ANDing Bitmap Build Index ANDing Bitmap Probe Index ANDing Bitmap Build and Probe
ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ºñÆ®¸ÊÀÇ °á°ú ÁýÇÕ Å©±â¸¦ ÃßÁ¤ÇÑ °æ¿ì, ÃßÁ¤Ä¡´Â ´ÙÀ½ ¸í·É¹®À» »ç¿ëÇϸé Ç¥½ÃµË´Ï´Ù.
Optimizer Estimate of Set Size: n
¾î¶°ÇÑ À¯ÇüÀÇ RID ÁغñÀÇ °æ¿ì¿¡µµ ¸ñ·Ï ÇÁ¸®ÆäÄ¡¸¦ ¼öÇàÇÒ ¼ö ÀÖÀ¸¸é, ´ÙÀ½ ¸í·É¹®À» »ç¿ëÇϸé Ç¥½ÃµË´Ï´Ù.
Prefetch: Enabled
ÃѰè´Â SQL¹®ÀÇ ¼ú¾î°¡ Á¦°øÇϴ ƯÁ¤ ±âÁØÀ» ÃæÁ·½ÃŰ´Â Çà¿¡ ´ëÇØ ¼öÇàµË´Ï´Ù. ÀϺΠÃÑ°Ô ÇÔ¼öÀÇ Á¤·ÄÀÌ ¼öÇàµÇ¸é ´ÙÀ½ ¸í·É¹® Áß Çϳª°¡ ³ªÅ¸³³´Ï´Ù.
Aggregation Predicate Aggregation Partial Aggregation Partial Predicate Aggregation Intermediate Aggregation Intermediate Predicate Aggregation Final Aggregation Final Predicate Aggregation
¼ú¾î ÃѰè´Â µ¥ÀÌÅͰ¡ ½ÇÁ¦·Î ¾×¼¼½ºµÉ ¶§ ¼ú¾î·Î 󸮵DZâ À§ÇØ Çª½Ã´Ù¿îµÇ´Â ÃÑ°è ¿¬»êÀ» ¸»ÇÕ´Ï´Ù.
À§ÀÇ ÃѰ蹮 Áß ÇϳªÀÇ ¾Æ·¡¿¡´Â ¼öÇàµÇ´Â ÇØ´ç ÃÑ°Ô ÇÔ¼ö À¯ÇüÀÌ Ç¥½ÃµË´Ï´Ù.
ƯÁ¤ Ä÷³ ÇÔ¼ö°¡ ¿ø·¡ÀÇ SQL¹®¿¡¼ ÆÄ»ýµÉ ¼ö ÀÖ½À´Ï´Ù. ´ÜÀÏ ·¹ÄÚµå´Â MIN ¶Ç´Â MAX ¿¬»êÀ» ÃæÁ·½ÃŰ´Â »öÀÎÀ¸·ÎºÎÅÍ ÆäÄ¡µÉ ¼ö ÀÖ½À´Ï´Ù.
¼ú¾î ÃѰ谡 »ç¿ëµÈ ´ÙÀ½, ÃѰ谡 ³ªÅ¸³ Å×ÀÌºí ¾×¼¼½º¹®ÀÌ ÈļӵǴ °æ¿ì ÃѰè "¿Ï·á(completion)"°¡ ³ª¿À´Âµ¥, ÀÌ´Â °¢ ±×·ìÀÇ ¿Ï·á ¶Ç´Â ÆÄÀÏÀÇ ³¡(end-of-file)¿¡ ´ëÇÑ ÇÊ¿äÇÑ Ã³¸®¸¦ ¼öÇàÇÕ´Ï´Ù. ´ÙÀ½ Áß Çϳª°¡ Ç¥½ÃµË´Ï´Ù.
Aggregation Completion Partial Aggregation Completion Intermediate Aggregation Completion Final Aggregation Completion
SQL¹®À» º´·Ä·Î ½ÇÇàÇÏ·Á¸é(ÆÄƼ¼Ç ³» ¶Ç´Â ÆÄƼ¼Ç°£ º´·Ä ó¸® »ç¿ë), ÀϺΠƯ¼ö Á¶ÀÛÀÌ ÇÊ¿äÇÕ´Ï´Ù. º´·Ä Ç÷£ÀÇ Á¶ÀÛÀº ´ÙÀ½°ú °°ÀÌ ÀÌ·ç¾îÁý´Ï´Ù.
Process Using n Subagents
ºÎ¼Ó¼½¼ÇÀÇ ºÐ»êÀº ´ÙÀ½ ¸í·É¹®À¸·Î ÁöÁ¤µË´Ï´Ù.
Distribute Subsection #n
ºÎ¼Ó¼½¼ÇÀ» ¼ö½ÅÇÏ´Â ³ëµå´Â ´ÙÀ½ 8°¡Áö ¹æ¹ý Áß Çϳª¿¡ ÀÇÇØ °áÁ¤µÉ ¼ö ÀÖ½À´Ï´Ù.
Directed by Hash | #Columns = n | Partition Map ID = n, Nodegroup = ngname, #Nodes = n
Directed by Node Number
Directed by Partition Number | Partition Map ID = n, Nodegroup = ngname, #Nodes = n
Directed by Position
Directed to Single Node | Node Number = n
Directed to Coordinator Node
Broadcast to Node List | Nodes = n1, n2, n3, ...
Directed to Any Node
Insert Into Synchronous Table Queue ID = qn Insert Into Asynchronous Table Queue ID = qn Insert Into Synchronous Local Table Queue ID = qn Insert Into Asynchronous Local Table Queue ID = qn
Broadcast to Coordinator Node¸ðµç ÇàÀÌ Á¶Á¤ÀÚ(coordinator) ³ëµå·Î Àü¼ÛµË´Ï´Ù.
Broadcast to All Nodes of Subsection nÁÖ¾îÁø ºÎ¼Ó¼½¼ÇÀÌ ½ÇÇàÁßÀÎ ¸ðµç µ¥ÀÌÅͺ£À̽º ÆÄƼ¼ÇÀ¸·Î ¸ðµç ÇàÀÌ Àü¼ÛµË´Ï´Ù.
Hash to Specific Node°¢ ÇàÀº ÇàÀÇ °ª¿¡ ÀǰÅÇÏ¿© µ¥ÀÌÅͺ£À̽º ÆÄƼ¼ÇÀ¸·Î Àü¼ÛµË´Ï´Ù.
Send to Specific Node°¢ ÇàÀº ¸í·É¹®ÀÌ ½ÇÇàµÇ´Â µ¿¾È °áÁ¤µÈ µ¥ÀÌÅͺ£À̽º ÆÄƼ¼ÇÀ¸·Î Àü¼ÛµË´Ï´Ù.
Send to Random Node°¢ ÇàÀº ÀÓÀÇÀÇ µ¥ÀÌÅͺ£À̽º ÆÄƼ¼ÇÀ¸·Î Àü¼ÛµË´Ï´Ù.
Rows Can Overflow to Temporary Table
Insert Into Synchronous Table Queue Completion ID = qn Insert Into Asynchronous Table Queue Completion ID = qn Insert Into Synchronous Local Table Queue Completion ID = qn Insert Into Asynchronous Local Table Queue Completion ID = qn
Access Table Queue ID = qn Access Local Table Queue ID = qn¸Þ½ÃÁö ´ÙÀ½¿¡´Â Ç×»ó °Ë»öÁßÀÎ Ä÷³ ¼ö Ç¥½Ã°¡ µÚµû¸¨´Ï´Ù.
#Columns = n
Output Sorted Output Sorted and Unique¸Þ½ÃÁö ´ÙÀ½¿¡´Â Ç×»ó Á¤·Ä Á¶ÀÛ¿¡ »ç¿ëµÇ´Â Ű ¼ö Ç¥½Ã°¡ µÚµû¸¨´Ï´Ù.
#Key Columns = nÁ¤·Ä ŰÀÇ °¢ Ä÷³ÀÇ °æ¿ì, ´ÙÀ½ Áß Çϳª°¡ Ç¥½ÃµË´Ï´Ù.
Key n: (¿À¸§Â÷¼ø) Key n: (³»¸²Â÷¼ø)
Residual Predicate(s) | #Predicates = n
Jump Back to Start of Subsection
¿¬ÇÕ µ¥ÀÌÅͺ£À̽º¿¡¼ SQL¹®À» ½ÇÇàÇÒ ¶§´Â ´Ù¸¥ µ¥ÀÌÅÍ ¼Ò½º¿¡¼ ±× ¸í·É¹®ÀÇ ÀϺθ¦ ¼öÇàÇÒ ¼ö ÀÖ´Â ±â´ÉÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
´ÙÀ½Àº µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾×¼¼½ºÇÒ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
Distributed Subquery #n | #Columns = n
ºÐ»ê ºÎ¼Ó Á¶È¸¿¡¼ ¸®ÅϵǴ µ¥ÀÌÅÍ¿¡ ¼ú¾î¸¦ Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Àû¿ëµÇ°í ÀÖ´Â ¼ú¾îÀÇ ¼ö´Â ´ÙÀ½°ú °°ÀÌ ÁöÁ¤µË´Ï´Ù.
Residual Predicate(s) | #Predicates = n
°¢ ºÐ»ê ºÎ¼Ó Á¶È¸¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×ÀÌ º°µµ·Î Á¦°øµË´Ï´Ù. ºÐ»ê ºÎ¼Ó Á¶È¸¿¡ ´ëÇÑ ¿É¼ÇÀÌ ¾Æ·¡¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù.
Server: server_name (type, version) Server: server_name (type) Server: server_name
Subquery SQL Statement: statement
Nickname Referenced: Schema.nickname Base = baseschema.basetable
#Input Columns: n
#Output Columns: n
DDL StatementDDL¹®¿¡ ´ëÇØ Ãß°¡ Explain Ãâ·ÂÀÌ Á¦°øµÇÁö ¾Ê½À´Ï´Ù.
SET StatementSET¹®¿¡ ´ëÇØ Ãß°¡ Explain Ãâ·ÂÀÌ Á¦°øµÇÁö ¾Ê½À´Ï´Ù.
Distinct Filter #Columns = n¿©±â¼, nÀº ±¸ºÐ ÇàÀ» ¾ò´Â µ¥ °ü°èµÈ Ä÷³ ¼öÀÔ´Ï´Ù. ±¸ºÐ Çà °ªÀ» °Ë»öÇϱâ À§ÇØ ÇàÀÌ Áߺ¹ °ªÀ» °Ç³Ê¶Û ¼ö ÀÖµµ·Ï Á¤·ÄµÇ¾î¾ß ÇÕ´Ï´Ù. ÀÌ ¸í·É¹®Àº ´ÙÀ½ °æ¿ì¿Í °°ÀÌ µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ Áߺ¹µÈ ºÎºÐÀ» ¸í½ÃÀûÀ¸·Î Á¦°ÅÇÒ Çʿ䰡 ¾ø´Â °æ¿ì¿¡´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù.
Positioned OperationÀÌ ¸í·É¹®Àº WHERE CURRENT OF ±¸¹®À» »ç¿ëÇÏ´Â SQL¹®¿¡ ´ëÇØ¼ ³ªÅ¸³³´Ï´Ù.
Residual Predicate Application | #Predicates = n
UNION
Table Constructor | n-Row(s)Å×ÀÌºí ±¸¼ºÀÚ(constructors)´Â ÀÏ·ÃÀÇ °ªÀ» ÈÄ¼Ó Á¶ÀÛ¿¡ ³Ñ°ÜÁö´Â ÇàÀ¸·Î º¯È¯½ÃŰ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. Å×ÀÌºí ±¸¼ºÀÚ¿¡°Ô ´ÙÀ½ ÇàÀ» ¹¯´Â ¸Þ½ÃÁö°¡ ³ªÅ¸³ª¸é, ´ÙÀ½ ¸í·É¹®ÀÌ ³ªÅ¸³³´Ï´Ù.
Access Table Constructor
Conditional Evaluation | Condition #n: | | #Predicates = n | Action #n:Á¶°Ç Æò°¡´Â SQL CASE¹®°ú °°Àº ÀÛ¾÷À̳ª ÂüÁ¶ ¹«°á¼º Á¦ÇÑÁ¶°Ç ¶Ç´Â Æ®¸®°Å¿Í °°Àº ³»ºÎ ¸ÞÄ¿´ÏÁòÀ» ½ÇÇàÇÒ ¶§ »ç¿ëµË´Ï´Ù. ¾Æ¹«·± Á¶Ä¡µµ ³ªÅ¸³ªÁö ¾ÊÀ¸¸é, Á¶°ÇÀÌ ÂüÀÏ ¶§ ´ÜÁö µ¥ÀÌÅÍ Á¶ÀÛ¸¸ÀÌ Ã³¸®µÇ´Â °ÍÀÔ´Ï´Ù.
Establish Row Position
Return Data to Application | #Columns = nÁ¶ÀÛÀÌ Å×ÀÌºí ¾×¼¼½º·Î Ǫ½Ã´Ù¿îµÉ °æ¿ì¿¡´Â ¿Ï·á ±¸¹®ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
Return Data Completion