ÀÌ ¹®¼´Â ÀÚ¹Ù¿¡¼ JDBC¸¦ ÀÌ¿ëÇØ °Ô½ÃÆÇ µîÀÇ
ÆäÀÌ¡ ±¸Çö½Ã °¡Àå ºü¸£°í È¿À²ÀûÀÎ ¹æ¹ýÀ» ã±âÀ§ÇØ °¢ ¹æ¹ýÀ» Å×½ºÆ®ÇÑ °á°ú¸¦
Á¤¸®ÇÑ °ÍÀÔ´Ï´Ù.
¡á µé¾î°¡±âÀü¿¡
1. ResultSet ŸÀÔ°ú Cursor ŸÀÔ
JDBC¿¡¼ Áö¿øÇÏ´Â ResultSetÀÇ Á¾·ù´Â 2°¡Áö°¡
ÀÖ½À´Ï´Ù.
- ResultSet.CONCUR_READ_ONLY : ÀбâÀü¿ë ResultSet
- ResultSet.CONCUR_UPDATABLE : ¼öÁ¤°¡´É ResultSet
À§ µÎ°¡Áö ResultSetÁß¿¡¼ ´ç¿¬È÷ READ_ONLY°¡
¼Óµµ°¡ ´õ ºü¸¦»Ó´õ·¯, ÀÏ¹Ý À¥ÇÁ·Î±×·¡¹Ö Ư¼º»ó ResultSet³»¿¡¼ ¾î¶² µ¥ÀÌÅ͸¦
¼öÁ¤ÇÏ´Â °æ¿ì´Â °ÅÀÇ Ã£¾Æº¸±â Èûµì´Ï´Ù. Statement »ý¼º½Ã Ưº°È÷ ÁöÁ¤ÇÏÁö
¾ÊÀ¸¸é ±âº»°ªÀº READ_ONLY°¡ µË´Ï´Ù.
±×¸®°í ResultSet¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â Ä¿¼¿¡´Â
¼¼°¡Áö°¡ ÀÖ½À´Ï´Ù.
- ResultSet.TYPE_FORWARD_ONLY : ¾ÕÀ¸·Î¸¸ ¿òÁ÷ÀÏ ¼ö ÀÖ´Â Ä¿¼
- ResultSet.TYPE_SCROLL_INSENSITIVE : ¾ÕµÚ·Î ¿òÁ÷ÀÏ ¼ö ÀÖÀ¸³ª,
ResultSet »ý¼º ÀÌÈÄ¿¡ ¹ß»ýÇÑ ¾÷µ¥ÀÌÆ®(·¹ÄÚµå Ãß°¡, »èÁ¦) µîÀº ¹Ý¿µµÇÁö ¾ÊÀ½.
- ResultSet.TYPE_SCROLL_SENSITIVE : ¾ÕµÚ·Î ¿òÁ÷ÀÏ ¼ö ÀÖÀ¸¸ç, ResultSet
»ý¼º ÀÌÈÄ¿¡ ¹ß»ýÇÑ ¾÷µ¥ÀÌÆ®(·¹ÄÚµå Ãß°¡, »èÁ¦)µµ ResultSet¿¡ ¹Ý¿µ.
¹°·Ð ¼Óµµ´Â FORWARD ONLY > SCROLL_INSENSITIVE
> SCROLL_SENSITIVE ¼øÀ¸·Î ºü¸¨´Ï´Ù. ¿ª½Ã Statement »ý¼º½Ã Ä¿¼ ŸÀÔÀ»
ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»°ªÀ¸·Î FORWARD_ONLY°¡ »ç¿ëµË´Ï´Ù.
2. À¥ÇÁ·Î±×·¡¹ÖÀÇ Æ¯¼ö¼º
ÀÏ¹Ý Client/Server ¾ÖÇø®ÄÉÀÌ¼Ç µî¿¡¼´Â DB
ÀÛ¾÷½Ã ÇÁ·Î±×·¥À» Á¾·áÇϱâ Àü±îÁö´Â °è¼Ó DB Ä¿³Ø¼ÇÀ» Àâ°íÀÖ´Â °æ¿ì°¡ ¸¹À¸¸ç,
ƯÈ÷ ·¹Äڵ带 ¾ÕµÚ·Î ¿À°¡¸ç ÀÛ¾÷ÇÏ´Â °æ¿ì°¡ ¸¹±â ¶§¹®¿¡ ÀÚÀ¯·Ó°Ô ResultSetÀ»
Ž»öÇϸç, Áßµµ¿¡ ·¹Äڵ尡 ¾÷µ¥ÀÌÆ®µÈ °æ¿ì À̰͵µ ½Ç½Ã°£À¸·Î ¹Ý¿µµÇ¿©¾ß Çϸç,
¶§·Î´Â Ž»öÁß ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇϱ⵵ ÇÕ´Ï´Ù. µû¶ó¼ ´Ù¾çÇÑ ±â´ÉÀ» °®´Â
ResultSet°ú Ä¿¼ÀÇ Áö¿ø ¿©ºÎ°¡ Áß¿äÇÕ´Ï´Ù.
ÀÌ¿¡ ¹ÝÇØ À¥¾ÖÇø®ÄÉÀÌ¼Ç °°Àº °æ¿ì´Â Connection
¹× ResultSetÀÌ ÇÑ ÆäÀÌÁö³»¿¡¼ ¸ðµç 󸮰¡ ³¡³ª¸ç, °É¸®´Â ½Ã°£µµ ¼ö ÃÊ¿¡ ºÒ°úÇϰí,
DB °ü·Ã ÀÛ¾÷µµ °³¹ßÀÚ°¡ ¼³°èÇÑ Àǵµ³»¿¡¼ ´Ü¼øÇÏ°Ô Ã³¸®µÈ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù.
µû¶ó¼ ResultSet°ú Ä¿¼ÀÇ ´Ù¾çÇÑ ±â´ÉµéÀ» Ȱ¿ëÇÏ´Â ºóµµ°¡ ¸Å¿ì ³·½À´Ï´Ù.
ƯÈ÷ À¥¾ÖÇø®ÄÉÀÌ¼Ç °°Àº °æ¿ì´Â »ç¿ëÀÚÀÇ ´ÙÀ½
ÇൿÀ» ¿¹ÃøÇÏ±â ¾î·Æ±â ¶§¹®¿¡ Ä¿³Ø¼ÇÀ» ¿©´Â °Í¿¡¼ºÎÅÍ, DB ÀÛ¾÷, Ä¿³Ø¼Ç ´Ý±â¸¦
ÇÑ ÆäÀÌÁö³»¿¡¼ ¸ðµÎ ¿Ï°áÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. µû¶ó¼ ÆäÀÌ¡ °°Àº °æ¿ì´Â ¸Å¿ì
´Ü¼øÇÑ ÀÛ¾÷ÀÓ¿¡µµ ÆäÀÌÁö°¡ ³Ñ¾î°¥¶§¸¶´Ù µ¿ÀÏÇÑ(¶Ç´Â ºñ½ÁÇÑ) ÀÛ¾÷- Ä¿³Ø¼Ç¾ò±â¢Ñ
·¹ÄÚµå ¼ö ÆÄ¾Ç ¢Ñ ÆäÀÌÁö°è»ê ¢Ñ Çö ÆäÀÌÁö À§Ä¡¿¡ ÇØ´çÇÏ´Â ·¹ÄÚµå·Î À̵¿ ¢Ñ Fetch ¢Ñ
Ä¿³Ø¼Ç ¹Ýȯ - À» ¹Ýº¹ÇØÁÖ¾î¾ß ÇÏ´Â ºñÈ¿À²¼ºÀÌ ÀÖ½À´Ï´Ù. (C/S¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â
ÆäÀÌÁö À̵¿½Ã ±×³É Ä¿¼¸¸ ¿Å°ÜÁÖ¸é µÇÁÒ) ÇѶ§ ¾î¶² ASP °³¹ßÀÚ´Â ÀÌ·±
ºñÈ¿À²¼ºÀ» ±Øº¹Çϱâ À§ÇØ ResultSetÀ» ¼¼¼Ç¿¡ º¸°üÇØ »ç¿ëÀÚÀÇ ÆäÀÌÁö
À̵¿½Ã Ä¿¼¸¸ ¿òÁ÷ÀÌ¸é µÈ´Ù°í ÁÖÀåÇÏ´Â °ÍÀ» ºÃ´Âµ¥, ÀÌ´Â ¸Å¿ì À§Çèõ¸¸ÇÑ
¹ß»óÀÏ °ÍÀÔ´Ï´Ù.
¾Æ·¡ Å×½ºÆ®´Â JDBCÀÇ °¢ Ä¿¼ ŸÀÔÀÇ Æ¯¼º°ú
´õºÒ¾î À¥¾ÖÇø®ÄÉÀ̼ÇÀÇ Æ¯¼ºµµ ÇÔ²² °¨¾ÈÇÏ¸é¼ ÀÐÀ¸½Ã±â ¹Ù¶ø´Ï´Ù.
¡á Å×½ºÆ®¿¡ »ç¿ëÇÑ ¹æ¹ý
ÀÏ´Ü Å×½ºÆ®¿¡´Â 244,619°³ÀÇ ·¹Äڵ尡 Á¸ÀçÇÏ´Â
¿À¶óŬ DBÀÇ Ä«Å»·Î±× Á¤º¸ Å×À̺íÀ» WHERE Á¶°Ç¾øÀÌ Àüü ·¹Äڵ带 »ç¿ëÇß½À´Ï´Ù.
(´Ü, co_code, co_lang, ca_no ¼øÀ¸·Î ORDER BY´Â ÁÖ¾ú½À´Ï´Ù) ÇÑ ÆäÀÌÁö´ç
20°³ÀÇ ·¹Äڵ尡 Ãâ·ÂµÈ´Ù°í ÀüÁ¦ÇßÀ»¶§ Àüü ÆäÀÌÁö ¼ö¸¸ ÇØµµ 12,231 ÆäÀÌÁö¿¡
´ÞÇϹǷΠ°¢ ¹æ½Äº° ¼º´É Â÷À̸¦ ¾î´ÀÁ¤µµ ´À³¥ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
Å×½ºÆ®´Â ¾Æ·¡ ¼¼°¡Áö ¹æ½ÄÀ» »ç¿ëÇØ ùÆäÀÌÁö¿Í Áß°£ÆäÀÌÁö,
±×¸®°í ¸¶Áö¸· ÆäÀÌÁö¸¦ ¿©´Âµ¥ °É¸®´Â ½Ã°£À» °¢°¢ ÃøÁ¤Çß½À´Ï´Ù. (¾Æ·¡ ¸íĪÀº Á¦°¡ ¸¶À½´ë·Î
ÁöÀº ¸íĪÀÔ´Ï´Ù)
¹æ
¹ý
|
¼³
¸í
|
ÀüÈÄÁøÄ¿¼
|
À̰ÍÀº SCROLL_INSENSITIVE
Ä¿¼¸¦ »ç¿ëÇß½À´Ï´Ù. ¸ÕÀú ÃÑ ·¹ÄÚµå ¼ö¸¦ ¾Ë±â À§ÇØ °¡Àå
¸¶Áö¸· ·¹ÄÚµå·Î À̵¿À» ÇØ ·¹ÄÚµå ¹øÈ£¸¦ ¾ò½À´Ï´Ù. ±× ÈÄ ÇÁ·Î±×·¥¿¡¼
ÆäÀÌÁö °è»êÀ» ÇÑ ÈÄ absolute¸Þ¼Òµå·Î ÇöÀç ÆäÀÌÁö¿¡ ÇØ´çÇÏ´Â
·¹ÄÚµå·Î ¹Ù·Î À̵¿ÇÕ´Ï´Ù. ±×¸®°í ½ÇÁ¦ ·¹Äڵ带 Fetch ÇÕ´Ï´Ù.
|
ÀüÁøÄ¿¼
|
¿©±â¿¡¼´Â FORWARD_ONLY
Ä¿¼¸¦ »ç¿ëÇß½À´Ï´Ù. ÃÑ ·¹ÄÚµå ¼ö¸¦ ¾Ë±â À§ÇØ ¸¶Áö¸·À¸·Î À̵¿Çϸé
´Ù½Ã µÚ·Î °¥ ¹æ¹ýÀÌ ¾ø±â ¶§¹®¿¡ ResultSet »ý¼º ÀÌÀü¿¡ ¹Ì¸® COUNT
Äõ¸®·Î ·¹ÄÚµå ¼ö¸¦ ÆÄ¾ÇÇÕ´Ï´Ù. ÇÁ·Î±×·¥¿¡ ÀÇÇÑ ÆäÀÌÁö °è»êÀ»
ÇÑ ÈÄ setMaxRows ¸Þ¼Òµå¸¦ ÅëÇØ ù ·¹ÄÚµåºÎÅÍ ÇöÀç ÆäÀÌÁöÀÇ ¸¶Áö¸·¿¡
ÇØ´çÇÏ´Â ·¹ÄÚµå±îÁö¸¸ ResultSet¿¡ ´ã½À´Ï´Ù. ±× ÈÄ ÇöÀç ÆäÀÌÁö¿¡
ÇØ´çÇÏ´Â ·¹ÄÚµå·Î À̵¿Çϱâ À§ÇØ ÇÁ·Î±×·¥¿¡¼ next() ¸Þ¼Òµå¸¦ loop·Î
µ¹¸³´Ï´Ù. (FORWARD_ONLY¿¡¼´Â absolute³ª relative ¸Þ¼Òµå¸¦ »ç¿ëÇÑ
Ä¿¼ À̵¿ÀÌ ºÒ°¡). ±×¸®°í ½ÇÁ¦ ·¹Äڵ带 Fetch ÇÕ´Ï´Ù.
|
È¥ÇÕ¹æ½Ä
|
À̰ÍÀº SCROLL_INSENSITIVE
Ä¿¼¸¦ »ç¿ëÇß½À´Ï´Ù. ´Ü, ·¹ÄÚµå ¼ö¸¦ ¾Ë±âÀ§ÇØ ³¡±îÁö À̵¿ÇÏ´Â
´ë½Å ÀüÁøÄ¿¼Ã³·³ ¹Ì¸® COUNT Äõ¸®¸¦ ÅëÇØ ·¹ÄÚµå ¼ö¸¦ ÆÄ¾ÇÇϰí ÇÊ¿äÇÑ
·¹ÄÚµåµé¸¸ MaxRows¸¦ ÀÌ¿ëÇØ ½ÇÁ¦ ResultSet¿¡ ´ã½À´Ï´Ù. ÇöÀç
ÆäÀÌÁö·Î À̵¿ÇÏ´Â ¹æ¹ýÀº ÀüÈÄÁøÄ¿¼Ã³·³ °è»êµÈ ·¹ÄÚµå ¹øÈ£·Î absolute
¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ ¹Ù·Î À̵¿ÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇß½À´Ï´Ù.
|
ÀÌ ¼¼°¡Áö ¹æ½ÄÀÇ Â÷ÀÌÁ¡Àº »ç¿ëÇÏ´Â Ä¿¼ Á¾·ù¿Í
ResultSetÀÇ Àüü ·¹ÄÚµå ¼ö¸¦ ¾ò´Â ¹æ¹ý, ±×¸®°í ÇöÀç ÆäÀÌÁö¿¡ ÇØ´çÇÏ´Â ·¹ÄÚµå·ÎÀÇ
À̵¿ ¹æ¹ý¿¡ Â÷À̰¡ ÀÖ½À´Ï´Ù. ´Ü, ÀüÁøÄ¿¼¿Í È¥ÇÕ¹æ½Ä¿¡¼´Â ¹Ì¸® COUNT
Äõ¸®¸¦ ÅëÇØ ·¹ÄÚµå ¼ö¸¦ ¾Ë°í, À̸¦ ÅëÇØ ÇöÀç ÆäÀÌÁöÀÇ ¸¶Áö¸· ·¹ÄÚµå ÀÌÈÄÀÇ ·¹ÄÚµåµéÀº
Çʿ䰡 ¾øÀ½À» ¾Ë°í Àֱ⠶§¹®¿¡ Statement¿¡¼ setMaxRows ¸Þ¼Òµå¸¦ ÀÌ¿ëÇØ ResultSet¿¡
´ãÀ» ·¹ÄÚµå ¼ö¸¦ Á¦ÇÑÇÒ ¼ö°¡ ÀÖ´Ù´Â Á¡¿¡ Â÷À̰¡ ÀÖ½À´Ï´Ù.
¡á Å×½ºÆ® °á°ú
(¼Ò¿ä½Ã°£)
±¸ ºÐ
|
ÀüÈÄÁøÄ¿¼
|
ÀüÁøÄ¿¼
|
È¥ÇÕ¹æ½Ä
|
ùÆäÀÌÁö (1)
|
·¹ÄÚµå ¼ö Ä«¿îÆ®
|
17.406ÃÊ
|
0.467ÃÊ
|
0.463ÃÊ
|
ÇöÆäÀÌÁö·Î Ä¿¼ À̵¿
|
00.000ÃÊ
|
0.004ÃÊ
|
0.004ÃÊ
|
ÃÑ DBó¸® ¼Ò¿ä½Ã°£
|
17.408ÃÊ
|
0.472ÃÊ
|
0.467ÃÊ
|
Áß°£ÆäÀÌÁö (6,115)
|
·¹ÄÚµå ¼ö Ä«¿îÆ®
|
17.928ÃÊ
|
0.433ÃÊ
|
0.444ÃÊ
|
ÇöÆäÀÌÁö·Î Ä¿¼ À̵¿
|
00.000ÃÊ
|
6.458ÃÊ
|
8.578ÃÊ
|
ÃÑ DBó¸® ¼Ò¿ä½Ã°£
|
17.929ÃÊ
|
6.894ÃÊ
|
9.024ÃÊ
|
³¡ÆäÀÌÁö (12,231)
|
·¹ÄÚµå ¼ö Ä«¿îÆ®
|
17.473ÃÊ
|
0.462ÃÊ
|
0.413ÃÊ
|
ÇöÆäÀÌÁö·Î Ä¿¼ À̵¿
|
00.000ÃÊ
|
13.128ÃÊ
|
16.662ÃÊ
|
ÃÑ DBó¸® ¼Ò¿ä½Ã°£
|
17.474ÃÊ
|
13.593ÃÊ
|
17.078ÃÊ
|
À§ ¼öÄ¡ÀÇ ÃøÁ¤Àº ¼ºñ½º ½Ã°£Áß ÀÌ·ç¾îÁ³±â ¶§¹®¿¡ ¼¹ö ºÎÇÏ µîÀÇ ¿äÀο¡ µû¶ó
´Ù¼Ò ¿ÀÂ÷°¡ ¹ß»ýÇÒ ¼öµµ ÀÖ½À´Ï´Ù. µû¶ó¼ ¼Ò¼öÁ¡ ÀÌÇÏ ÀÚ¸®´Â ¹ö¸®°í º¸½Ã¸é
µË´Ï´Ù. ±×¸®°í °°Àº »öÀ¸·Î ¸¶Å·µÈ ¼¿µéÀÇ ¼öÄ¡´Â ±âº»ÀûÀ¸·Î µ¿ÀÏÇÑ ·ÎÁ÷À̹ǷÎ,
°°Àº °ªÀ» °®´Â´Ù°í º¸¸é µË´Ï´Ù.
¡á °á°ú ¼³¸í
ÃøÁ¤°á°ú ÀüÁøÄ¿¼°¡ °¡Àå ºü¸¥ ¼Óµµ¸¦
º¸¿©ÁáÀ¸¸ç, ±× ´ÙÀ½À¸·Î´Â È¥ÇÕ¹æ½ÄÀ̾úÀ¸¸ç ÀüÈÄÁøÄ¿¼´Â °¡Àå ´À¸° ¼Óµµ¸¦ º¸¿©Áá½À´Ï´Ù.
ƯÈ÷ À¥»ó¿¡¼ °¡Àå ºó¹øÇÏ°Ô »ç¿ëµÇ´Â ùÆäÀÌÁö¸¦ ºñ·ÔÇÑ ¾ÕÂÊ ÆäÀÌÁöµéÀÇ Á¢±Ù
¼Óµµ¿¡¼ ÀüÁøÄ¿¼¿Í È¥ÇÕ¹æ½ÄÀº 1ÃÊ ¹Ì¸¸ÀÇ Ã³¸® ¼Óµµ¸¦ º¸¿©Áص¥ ¹ÝÇØ ÀüÈÄÁøÄ¿¼´Â
17ÃÊ ÀÌ»óÀÇ ¼Óµµ¸¦ º¸¿©Áà À¥»ó¿¡¼ »ç¿ëÇÏ´Â °ÍÀº ºÎÀûÀýÇÔÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
·¹ÄÚµåÀÇ ³¡±îÁö Ž»öÇÏ°Ô µÇ´Â ¸¶Áö¸· ÆäÀÌÁö¿¡¼´Â °ÝÂ÷°¡ Á¼ÇôÁö°Ô µÇ´Âµ¥,
ÀüÈÄÁøÄ¿¼¿Í È¥ÇÕ¹æ½ÄÀº °ÅÀÇ ºñ½ÁÇÑ ½Ã°£ÀÌ ¼Ò¿äµÇ¸ç ÀüÁøÄ¿¼°¡ 4Ãʰ¡·® ´õ ºü¸¥
¼Óµµ¸¦ º¸¿©ÁÖ°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
ƯÀÌÇÑ Á¡Àº ÇöÀç ÆäÀÌÁöÀÇ ·¹ÄÚµå·Î À̵¿ÇÒ ¶§ ÀüÈÄÁøÄ¿¼¿Í È¥ÇÕ¹æ½ÄÀÌ µ¿ÀÏÇÑ
Ä¿¼¹æ½Ä°ú ÇÔ²² µ¿ÀÏÇÏ°Ô absolute ¸Þ¼Òµå¸¦ »ç¿ëÇϴµ¥µµ ¼·Î ¼Óµµ°¡ Â÷À̰¡ ³ª´Â
°ÍÀ» º¼ ¼ö Àִµ¥, ÀüÈÄÁøÄ¿¼ ¹æ½ÄÀÇ °æ¿ì óÀ½¿¡ ÃÑ ·¹ÄÚµå ¼ö¸¦ ¾ò±â À§ÇØ ¸¶Áö¸·
·¹ÄÚµå±îÁö À̵¿ÇÏ´Â °úÁ¤¿¡¼ ÀÏÁ¾ÀÇ À妽ÌÀÌ ÀϾ ±× ÀÌÈÄÀÇ Ä¿¼ À̵¿Àº ¸Å¿ì
ºü¸¥ ¼Óµµ·Î ÀÌ·ïÁø´Ù´Â °ÍÀ» ÁüÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. (±×·¡¼ óÀ½ ·¹ÄÚµå ¼ö Ä«¿îÆÃÀ»
À§ÇØ ¸¶Áö¸· ·¹ÄÚµå±îÁöÀÇ À̵¿ÇÒ¶§ÀÇ ¼Óµµ°¡ ´À¸° µí ÇÕ´Ï´Ù) ÀÌ·± Ư¼ºÀº
C/S ¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â ¶Ù¾î³ ¼º´ÉÀ» º¸¿©ÁÖ°ÚÁö¸¸, ÇÑ ÆäÀÌÁö³»¿¡¼ ¸ðµç 󸮰¡
³¡³ª¹ö¸®´Â À¥¾ÖÇø®ÄÉÀ̼ǿ¡¼´Â ¿ÀÈ÷·Á ¿ªÈ¿°ú¸¦ ÀÏÀ¸Å°´Â °Í °°½À´Ï´Ù.
ÃÖÁ¾ÀûÀ¸·Î °á·ÐÀ» ³»¸°´Ù¸é ÀüÁøÄ¿¼°¡ ÇÁ·Î±×·¥»ó¿¡¼ ó¸®ÇÏ´Â ºÎºÐÀÌ Á¶±Ý
´õ ÀÖ±ä ÇÏÁö¸¸, ¼Óµµ ºÎºÐ¿¡¼´Â °¡Àå È¿À²ÀûÀ̶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷
À¥»ó¿¡¼ °¡Àå ºó¹øÇÏ°Ô Á¢±ÙµÇ´Â ÆäÀÌÁö°¡ ÃÊ±â ¸î ÆäÀÌÁö¶ó´Â °üÁ¡¿¡¼ º¼ ¶§´Â
±× È¿¿ë °¡Ä¡°¡ ´õ¿í ³ô¾ÆÁú °ÍÀ̶ó°í º¾´Ï´Ù.
<¿¹¿Ü »óȲ>
´Ü, ÇѰ¡Áö ¿¹¿Ü »óȲÀÌ ÀÖ´Ù¸é °íºñ¿ëÀ» ¿ä±¸ÇÏ´Â ºñÈ¿À²ÀûÀÎ Äõ¸®¹®¿¡¼´Â °á°ú°¡
´Ù¸£°Ô ³ª¿Ã ¼öµµ ÀÖ½À´Ï´Ù. ¿¹ÄÁµ¥ º¹ÀâÇÑ WHEREÀýÀÌ ÀÖ°í, INDEX µîµµ Á¦´ë·Î
ÀâÇôÀÖÁö ¾Ê°Å³ª Á¤È®È÷ »ç¿ëÇÒ ¼ö ¾ø´Â ±¸Á¶¶ó¸é ÀüÈÄÁøÄ¿¼¿Í ÀüÁøÄ¿¼°£ÀÇ °ÝÂ÷°¡
ÁÙ¾îµé°Å³ª, ¶Ç´Â ÀüÈÄÁøÄ¿¼°¡ ´õ È¿°úÀûÀÏ °¡´É¼ºÀÌ
ÀÖ½À´Ï´Ù.
¿Ö³Ä¸é ÀüÁøÄõ¸®³ª È¥ÇÕ¹æ½ÄÀº ÃÑ ·¹ÄÚµå ¼ö ÆÄ¾ÇÀ» À§ÇØ Äõ¸®¸¦ Çѹø ´õ ¼öÇàÇØ¾ß
Çϴµ¥, WHERE ÀýÀÌ º¹ÀâÇÏ´Ù¸é ¿©±â¿¡ ¼Ò¿äµÇ´Â ºñ¿ëÀÌ ÀüÈÄÁøÄõ¸®¿¡¼
¸¶Áö¸· ·¹ÄÚµå±îÁö À̵¿ÇÏ´Â ºñ¿ë°ú ¸Â¸Ô°Å³ª ÃʰúÇÒ ¼öµµ ÀÖ±â
¶§¹®ÀÔ´Ï´Ù.
¾Æ¸¶ ÀÌ °æ¿ì¿¡´Â WHEREÀýÀÌ º¹ÀâÇϰí
ºñÈ¿À²ÀûÀϼö·Ï ÀüÈÄÁøÄõ¸®¿Í ÀüÁøÄõ¸®°£ÀÇ °ÝÂ÷°¡ Á¼ÇôÁö°í, ¾î´À ¼öÁØ¿¡¼´Â ÀüÈÄÁøÄõ¸®°¡
´õ ºü¸¥ °æ¿ìµµ ³ªÅ¸³¯ ¼ö ÀÖ½À´Ï´Ù. (ÀüÀûÀ¸·Î WHEREÀýÀÌ ¾ó¸¶³ª ¸¹Àº ºñ¿ëÀ»
ÇÊ¿ä·Î ÇÏ´À³Ä¿¡ µû¶ó ´Þ·Á ÀÖ½À´Ï´Ù)
ÀÌ °æ¿ì¿¡´Â »óȲ¿¡ µû¶ó ´Ù¸£±ä
ÇϰÚÁö¸¸ È¥ÇÕ¹æ½ÄÀÌ °¡Àå ºñÈ¿À²ÀûÀÌ µÉ È®·üÀÌ ³ô½À´Ï´Ù. (°á°úÀûÀ¸·Î ÀüÈÄÁøÄ¿¼¿Í
ÀüÁøÄ¿¼ ¾çÂÊÀÇ ´ÜÁ¡ÀÌ ¸ðµÎ
¹Ý¿µµÇ¹Ç·Î...)
ÇѰ¡Áö È®½ÇÇÑ °ÍÀº ÀÌ·¯ÇÑ Äõ¸®¸¦ ÀÌ¿ëÇÑ ÆäÀÌ¡ ±¸Çö¿¡¼´Â ÀüÈÄÁøÄõ¸®°¡
ÀüÁøÄõ¸®¿¡ ºñÇØ È¿°úÀûÀÏ °¡´É¼ºµµ ÀÖÁö¸¸, °á°úÀûÀ¸·Î´Â ¾î´À ¹æ½ÄÀ» »ç¿ëÇÏ´øÁö
Äõ¸® ¼öÇàÀ» À§ÇØ ³ôÀº ºñ¿ëÀ» Ä¡·ï¾ß ÇÑ´Ù´Â Á¡À» °£°úÇØ¼´Â ¾ÈµÉ °ÍÀÔ´Ï´Ù.(ƯÈ÷
À¥ÇÁ·Î±×·¡¹Ö¿¡¼´Â).
|
¡á MySQL¿¡¼ÀÇ È¿À²ÀûÀÎ ÆäÀÌ¡ ±¸Çö
À§ÀÇ Å×½ºÆ®´Â ¿À¶óŬ¿¡¼ ÁøÇàµÈ °ÍÀ̸ç, MySQL¿¡¼´Â ´õ È¿À²ÀûÀÎ ÆäÀÌ¡
¹æ¹ýÀÌ ÀÖ½À´Ï´Ù
MySQL¿¡ Query¸¦ ³¯¸±¶§ºÎÅÍ ¾Æ¿¹ SQL¿¡¼ LIMIT n, m ±¸¹®À» »ç¿ëÇØ °¡Á®¿Ã
·¹ÄÚµå ¹üÀ§¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. (n=½ÃÀÛ·¹ÄÚµå¹øÈ£, m=¸¶Áö¸··¹ÄÚµå¹øÈ£)
À̸¦ ÅëÇØ ÇöÀç º¸¿©Áö´Â ÆäÀÌÁöÀÇ ¹üÀ§¿¡ ÇØ´çÇÏ´Â ·¹Äڵ常 »©³¾ ¼ö ÀÖ±â
¶§¹®¿¡ °¡Àå ºü¸£°í È¿À²ÀûÀÎ ÆäÀÌ¡À» ±¸ÇöÇÒ ¼ö ÀÖÀ» °Í ÀÔ´Ï´Ù.
¿À¶óŬ¿¡¼µµ ¿ª½Ã rownumÀ̶ó´Â pseudo Ä÷³À» ÀÌ¿ëÇØ ºñ½ÁÇÑ ¹æ¹ýÀ» ±¸ÇöÇÒ
¼ö ÀÖÀ¸³ª, ORDER BY¸¦ ÀÌ¿ëÇÑ Á¤·Ä ¹®Á¦¸¦ ºñ·ÔÇØ ¹üÀ§ ÁöÁ¤ µîÀÇ ¹®Á¦°¡ ÀÖ¾î ÀÚÀ¯·Î¿î
ÆäÀÌ¡ ±¸Çö¿¡ À־ ÀûÇÕÇÏÁö ¾Ê½À´Ï´Ù. (ºä¸¦ »ý¼ºÇؼ ÇØ°áÇÏ´Â ¹æ¹ýÀÌ ÀÖÀ¸³ª
´Ù¼Ò º¹ÀâÇØÁý´Ï´Ù)
¿¹Àü¿¡ ASP¸¦ »ç¿ëÇÒ ¶§µµ ADO(Active Database Object)¸¦ »ç¿ëÇØ À§¿Í ºñ½ÁÇÑ
Å×½ºÆ®¸¦ ÇØºÃ´ø ±â¾ïÀÌ ³ª´Âµ¥, ±×¶§µµ ºñ½ÁÇÑ °á°ú°¡ ³ª¿Ô´ø °Í °°½À´Ï´Ù.
µû¶ó¼ ÆäÀÌ¡ ±¸Çö½Ã Ä¿¼ »ç¿ë ¹æ¹ýÀº ƯÁ¤ ¾ð¾î³ª DBMS, Ç÷§Æû º¸´Ù´Â
¾î¶² Á¾·ùÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå³Ä¿¡ µû¶ó °áÁ¤µÈ´Ù°í ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
* iWiz´Ô¿¡ ÀÇÇØ¼ °Ô½Ã¹° À̵¿µÇ¾ú½À´Ï´Ù (2010-02-03 16:57)
|