{"id":766,"date":"2012-04-16T23:36:29","date_gmt":"2012-04-16T23:36:29","guid":{"rendered":"http:\/\/brain.dailyon.net\/?p=766"},"modified":"2012-04-16T23:36:29","modified_gmt":"2012-04-16T23:36:29","slug":"oracle-%ec%98%a4%eb%9d%bc%ed%81%b4%ec%97%90%ec%84%9c-bind-%eb%b3%80%ec%88%98%eb%a5%bc-%ec%82%ac%ec%9a%a9%ed%95%b4%ec%95%bc-%eb%90%98%eb%8a%94-%ec%9d%b4%ec%9c%a0","status":"publish","type":"post","link":"https:\/\/blog.goorigo.com\/?p=766","title":{"rendered":"oracle : \uc624\ub77c\ud074\uc5d0\uc11c Bind \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud574\uc57c \ub418\ub294 \uc774\uc720"},"content":{"rendered":"<p>iBatis 3 User Guide \uc758 String substition \ubd80\ubd84\uc5d0\uc11c \ucc3e\uc740 \ub0b4\uc6a9\uc785\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>#{} \ubb38\ubc95\uc740 iBatis\uac00 PreparedStatement\uc5d0 \ub300\ud55c Property\ub97c \uc0dd\uc131\ud558\uace0 \uc548\uc804\ud558\uac8c \uac12\uc744 \uc124\uc815\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/p>\n<p>\ub300\uc2e0 \uc785\ub825\ub41c \ubb38\uc790\uc5f4\uc744 \uc218\uc815\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc870\uae08 \ub290\ub9bd\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>${} \ubb38\ubc95\uc740 \ubb38\uc790\uc5f4\uc744 \uc218\uc815\ud558\uc9c0 \uc54a\uace0, PreparedStatement parameter(?\uc5d0 \ub9e4\ud551)\uc5d0<\/p>\n<p>\uc9c1\uc811 \ubb38\uc790\uc5f4\uc744 \uc9d1\uc5b4 \ub123\uc2b5\ub2c8\ub2e4.?\ub530\ub77c\uc11c \uc870\uae08 \ub354 \ube60\ub974\uc8e0.<\/p>\n<p>&nbsp;<\/p>\n<p>\ud558\uc9c0\ub9cc, \uc774\ub807\uac8c \uc0ac\uc6a9\ud560 \uacbd\uc6b0 \uc0ac\uc6a9\uc790\uc758 SQL injection \uacf5\uaca9\uc5d0 \ubb34\ubc29\ube44 \uc0c1\ud0dc\uac00 \ub418\uc5b4 \ubc84\ub9ac\ubbc0\ub85c \uc8fc\uc758\uac00 \ud544\uc694\ud569\ub2c8\ub2e4<\/p>\n<p>SELECT a.id, a.name FROM \uc5b4\ub5a4\ud14c\uc774\ube14 a WHERE a.id = #id#<\/p>\n<p>\uc640<\/p>\n<p>2) SELECT a.id, a.name FROM \uc5b4\ub5a4\ud14c\uc774\ube14 a WHERE a.id = $id$<\/p>\n<p>\ub97c \ub193\uace0 \uc124\uba85\uc744 \ub4dc\ub9ac\uc790\uba74<\/p>\n<p>&nbsp;<\/p>\n<p>1)\uc758 \uacbd\uc6b0 iBatis\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 PreparedStatement\ub97c \uc0dd\uc131\ud574\uc11c \uc0ac\uc6a9\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>SELECT a.id, a.name FROM \uc5b4\ub5a4\ud14c\uc774\ube14 a WHERE a.id = ?<\/p>\n<p>\ub530\ub77c\uc11c #id#\uc5d0 \uc124\uc815\ub418\ub294 \uac12\uc774 \ubc14\ub00c\uc5b4\ub3c4 \uc704\uc758 PreparedStatement\ub97c \uc7ac\uc0ac\uc6a9\ud558\uac8c \ub418\uace0,<\/p>\n<p>DB\uc785\uc7a5\uc5d0\uc11c\ub3c4 \uc774\ubbf8 \ucef4\ud30c\uc77c\ub41c SQL\uc744 \uc0ac\uc6a9\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\ud558\uc9c0\ub9cc 2)\uc758 \uacbd\uc6b0 iBatis\ub294 $id$\ub97c \ub9c8\uce58 \uc0c1\uc218\uc640 \uac19\uc774 \ucc98\ub9ac\ud574\uc11c PreparedStatement\ub97c \uc0dd\uc131\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\ub9cc\uc57d $id$\uac00 1\uc778 \uacbd\uc6b0\ub294<\/p>\n<p>SELECT a.id, a.name FROM \uc5b4\ub5a4\ud14c\uc774\ube14 a WHERE a.id =1<\/p>\n<p>\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc5ec\uae30\uc11c $id$\uac12\uc774 \ubc14\ub00c\uc5b4\uc11c 2\uac00 \ub418\ub294 \uacbd\uc6b0\ub294<\/p>\n<p>SELECT a.id, a.name FROM \uc5b4\ub5a4\ud14c\uc774\ube14 a WHERE a.id =2<\/p>\n<p>\ub97c \ub610 PreparedStatement\ub85c \uc0dd\uc131\ud558\uac8c \ub429\ub2c8\ub2e4.<\/p>\n<p>\ub530\ub77c\uc11c $\ub97c \uc0ac\uc6a9\ud574\uc11c \ubcc0\uc218\ub97c \ubc14\uc778\ub529\ud558\ub294 \uacbd\uc6b0 \ud574\ub2f9 \ubcc0\uc218\uc758 \uac12\uc774 \ub9ce\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc5d0\ub294<\/p>\n<p>\ubc14\uc778\ub4dc\ud560 \ubcc0\uc218\uac00 \uc5c6\ub294 PreparedStatement\ucc98\ub7fc \uc0ac\uc6a9\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0 \uc218\ud589 \ub2a5\ub825\uc744 \ub192\uc77c \uc218 \uc788\uc9c0\ub9cc,<\/p>\n<p>\uac8c\uc2dc\ud310\uc758 \uc2dd\ubcc4\uc790\ucc98\ub7fc \uacc4\uc18d \ubc14\ub00c\ub294 \ubcc0\uc218\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\ub294 \uc624\ud788\ub824 \uc218\ud589 \ub2a5\ub825\uc774 \ub5a8\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>\uc800\ub294 \ub300\ubd80\ubd84 \ud14c\uc774\ube14 \uc774\ub984\uacfc \uac19\uc774 SQL\uc790\uccb4\uac00 \ubc14\ub00c\ub294 \uacbd\uc6b0 \ud639\uc740 DDL\uc5d0\uc11c \uc7ac\ud65c\uc6a9\ud560 \ubd80\ubd84\uc774 \ub9ce\uc744 \ub54c\uc5d0 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: small\">1. \uac1c\uc694<\/span><br \/>\n<span style=\"font-size: x-small\">? \uc624\ub77c\ud074\uc758 \ubc14\uc778\ub4dc \ubcc0\uc218 \uc0ac\uc6a9\uc720\ubb34\uc5d0 \ub530\ub978 \uc2e4\ud589 \uc18d\ub3c4 \ucc28\uc774 \ud655\uc778<\/span><\/p>\n<p><span style=\"font-size: small\">2. \ud14c\uc774\ube14 \ubc0f \uc778\ub371\uc2a4 \uc0dd\uc131<\/span><\/p>\n<div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<div>16<\/div>\n<div>17<\/div>\n<div>18<\/div>\n<div>19<\/div>\n<div>20<\/div>\n<div>21<\/div>\n<div>22<\/div>\n<div>23<\/div>\n<div>24<\/div>\n<div>25<\/div>\n<div>26<\/div>\n<div>27<\/div>\n<div>28<\/div>\n<div>29<\/div>\n<div>30<\/div>\n<div>31<\/div>\n<div>32<\/div>\n<div>33<\/div>\n<div>34<\/div>\n<div>35<\/div>\n<div>36<\/div>\n<div>37<\/div>\n<div>38<\/div>\n<div>39<\/div>\n<div>40<\/div>\n<div>41<\/div>\n<div>42<\/div>\n<\/td>\n<td>\n<div>\n<div><code>SQL&gt; <\/code><code>create<\/code> <code>table<\/code> <code>t <\/code><\/div>\n<div><code>??<\/code><code>2? <\/code><code>as<\/code><\/div>\n<div><code>??<\/code><code>3? <\/code><code>select<\/code> <code>* <\/code><code>from<\/code> <code>dba_objects; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Table<\/code> <code>created. <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt; <\/code><code>update<\/code> <code>t <\/code><code>set<\/code> <code>object_id=rownum; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>11425 <\/code><code>rows<\/code> <code>updated. <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt; <\/code><code>create<\/code> <code>unique<\/code> <code>index<\/code> <code>t_object_id_idx <\/code><code>on<\/code> <code>t(object_id); <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Index<\/code> <code>created. <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt; analyze <\/code><code>table<\/code> <code>t compute <\/code><code>statistics<\/code><code>; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Table<\/code> <code>analyzed. <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt; <\/code><code>set<\/code> <code>autot traceonly explain <\/code><\/div>\n<div><code>SQL&gt; <\/code><code>select<\/code> <code>object_name <\/code><code>from<\/code> <code>t <\/code><code>where<\/code> <code>object_id=1000; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Execution Plan <\/code><\/div>\n<div><code>---------------------------------------------------------- <\/code><\/div>\n<div><code>Plan hash value: 1414422808 <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>----------------------------------------------------------------------------------------------- <\/code><\/div>\n<div><code>| Id? | Operation ? ? ? ? ? ? ? ? ? | <\/code><code>Name<\/code> ? ? ? ? ?? <code>| <\/code><code>Rows<\/code>? <code>| Bytes | Cost (%CPU)| <\/code><code>Time<\/code> ? ? <code>| <\/code><\/div>\n<div><code>----------------------------------------------------------------------------------------------- <\/code><\/div>\n<div><code>| ? 0 | <\/code><code>SELECT<\/code> <code>STATEMENT ? ? ? ? ?? | ? ? ? ? ? ? ? ? | ? ? 1 | ?? 22 | ? ? 2 ? (0)| 00:00:01 | <\/code><\/div>\n<div><code>| ? 1 |? <\/code><code>TABLE<\/code> <code>ACCESS <\/code><code>BY<\/code> <code>INDEX<\/code> <code>ROWID| T ? ? ? ? ? ? ? | ? ? 1 | ?? 22 | ? ? 2 ? (0)| 00:00:01 | <\/code><\/div>\n<div><code>|*? 2 | ? <\/code><code>INDEX<\/code> <code>UNIQUE<\/code> <code>SCAN ? ? ? ? | T_OBJECT_ID_IDX | ? ? 1 | ? ? ? | ? ? 1 ? (0)| 00:00:01 | <\/code><\/div>\n<div><code>----------------------------------------------------------------------------------------------- <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Predicate Information (identified <\/code><code>by<\/code> <code>operation id): <\/code><\/div>\n<div><code>--------------------------------------------------- <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>???<\/code><code>2 - access(<\/code><code>\"OBJECT_ID\"<\/code><code>=1000) <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt; <\/code><code>set<\/code> <code>autot <\/code><code>off<\/code><\/div>\n<div><code>SQL&gt; <\/code><code>alter<\/code> <code>system flush shared_pool; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>System altered.<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"font-size: small\"><strong>3. \ubc14\uc778\ub4dc \ubcc0\uc218 \uc0ac\uc6a9\uc2dc \uc2e4\ud589\uc18d\ub3c4<\/strong><\/span><\/p>\n<div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<div>16<\/div>\n<div>17<\/div>\n<div>18<\/div>\n<div>19<\/div>\n<div>20<\/div>\n<div>21<\/div>\n<div>22<\/div>\n<div>23<\/div>\n<div>24<\/div>\n<div>25<\/div>\n<div>26<\/div>\n<div>27<\/div>\n<div>28<\/div>\n<div>29<\/div>\n<div>30<\/div>\n<div>31<\/div>\n<div>32<\/div>\n<div>33<\/div>\n<div>34<\/div>\n<div>35<\/div>\n<\/td>\n<td>\n<div>\n<div><code>SQL&gt; <\/code><code>set<\/code> <code>timing <\/code><code>on<\/code><\/div>\n<div><code>SQL&gt; <\/code><code>declare<\/code><\/div>\n<div><code>??<\/code><code>2 ? ? ? ?? type rc <\/code><code>is<\/code> <code>ref <\/code><code>cursor<\/code><code>; <\/code><\/div>\n<div><code>??<\/code><code>3 ? ? ? ?? l_rc rc; <\/code><\/div>\n<div><code>??<\/code><code>4 ? ? ? ?? l_object_name t.object_name%type; <\/code><\/div>\n<div><code>??<\/code><code>5? <\/code><code>begin<\/code><\/div>\n<div><code>??<\/code><code>6 ? ? ? ?? <\/code><code>for<\/code> <code>i <\/code><code>in<\/code> <code>1..20000 <\/code><\/div>\n<div><code>??<\/code><code>7 ? ? ? ?? loop <\/code><\/div>\n<div><code>??<\/code><code>8 ? ? ? ? ? ? ? ?? <\/code><code>open<\/code> <code>l_rc <\/code><code>for<\/code><\/div>\n<div><code>??<\/code><code>9 ? ? ? ? ? ? ? ? ? ? ? ?? <\/code><code>'select \/* test1 *\/ object_name <\/code><\/div>\n<div><code>?<\/code><code>10 ? ? ? ? ? ? ? ? ? ? ? ?? from t <\/code><\/div>\n<div><code>?<\/code><code>11 ? ? ? ? ? ? ? ? ? ? ? ?? where object_id=:x'<\/code> <code>using i; <\/code><\/div>\n<div><code>?<\/code><code>12 ? ? ? ? ? ? ? ?? <\/code><code>fetch<\/code> <code>l_rc <\/code><code>into<\/code> <code>l_object_name; <\/code><\/div>\n<div><code>?<\/code><code>13 ? ? ? ? ? ? ? ?? <\/code><code>close<\/code> <code>l_rc; <\/code><\/div>\n<div><code>?<\/code><code>14 ? ? ? ?? <\/code><code>end<\/code> <code>loop; <\/code><\/div>\n<div><code>?<\/code><code>15? <\/code><code>end<\/code><code>; <\/code><\/div>\n<div><code>?<\/code><code>16? \/ <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>PL\/SQL <\/code><code>procedure<\/code> <code>successfully completed. <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Elapsed: 00:00:01.72 <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt;? <\/code><code>select<\/code> <code>sql_text, loads, parse_calls, executions, fetches <\/code><code>from<\/code> <code>v$sql <\/code><\/div>\n<div><code>??<\/code><code>2? <\/code><code>where<\/code> <code>sql_text <\/code><code>like<\/code> <code>'%test1%'<\/code><\/div>\n<div><code>??<\/code><code>3? <\/code><code>and<\/code> <code>sql_text <\/code><code>not<\/code> <code>like<\/code> <code>'%v$sql%'<\/code><\/div>\n<div><code>??<\/code><code>4? <\/code><code>and<\/code> <code>sql_text <\/code><code>not<\/code> <code>like<\/code> <code>'declare%'<\/code><code>; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL_TEXT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? LOADS PARSE_CALLS EXECUTIONS ?? FETCHES <\/code><\/div>\n<div><code>---------------------------------------- ---------- ----------- ---------- ---------- <\/code><\/div>\n<div><code>select<\/code> <code>\/* test1 *\/ object_name ? ? ? ? ? ? ? ? ?? 1 ? ? ? 20000 ? ?? 20000 ? ?? 20000 <\/code><\/div>\n<div><code>??? ? ? ? ? ?? <\/code><code>from<\/code> <code>t <\/code><\/div>\n<div><code>??? ? <\/code><code>where<\/code> <code>object_id=:x <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Elapsed: 00:00:00.00<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"font-size: x-small\">\ud574\uc124<\/span><span style=\"font-size: x-small\"><strong> : \ud558\ub4dc \ud30c\uc2f1\uc774 1\ubc88 \uc77c\uc5b4\ub0ac\uace0, \uc2e4\ud589\uc2dc\uac04\uc740 1.72\ucd08\uc774\ub2e4.<\/strong><\/span><\/p>\n<p><span style=\"font-size: small\">4. \ubc14\uc778\ub4dc \ubcc0\uc218 \ubbf8\uc0ac\uc6a9 \uc2dc \uc2e4\ud589\uc18d\ub3c4<\/span><\/p>\n<div>\n<div>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<div>16<\/div>\n<div>17<\/div>\n<div>18<\/div>\n<div>19<\/div>\n<div>20<\/div>\n<div>21<\/div>\n<div>22<\/div>\n<div>23<\/div>\n<div>24<\/div>\n<div>25<\/div>\n<div>26<\/div>\n<div>27<\/div>\n<div>28<\/div>\n<div>29<\/div>\n<div>30<\/div>\n<div>31<\/div>\n<div>32<\/div>\n<div>33<\/div>\n<div>34<\/div>\n<div>35<\/div>\n<div>36<\/div>\n<div>37<\/div>\n<div>38<\/div>\n<div>39<\/div>\n<div>40<\/div>\n<div>41<\/div>\n<div>42<\/div>\n<div>43<\/div>\n<\/td>\n<td>\n<div>\n<div><code>SQL&gt; <\/code><code>declare<\/code><\/div>\n<div><code>??<\/code><code>2 ? ? ? ?? type rc <\/code><code>is<\/code> <code>ref <\/code><code>cursor<\/code><code>; <\/code><\/div>\n<div><code>??<\/code><code>3 ? ? ? ?? l_rc rc; <\/code><\/div>\n<div><code>??<\/code><code>4 ? ? ? ?? l_object_name t.object_name%type; <\/code><\/div>\n<div><code>??<\/code><code>5? <\/code><code>begin<\/code><\/div>\n<div><code>??<\/code><code>6 ? ? ? ?? <\/code><code>for<\/code> <code>i <\/code><code>in<\/code> <code>1..20000 <\/code><\/div>\n<div><code>??<\/code><code>7 ? ? ? ?? loop <\/code><\/div>\n<div><code>??<\/code><code>8 ? ? ? ? ? ? ? ?? <\/code><code>open<\/code> <code>l_rc <\/code><code>for<\/code><\/div>\n<div><code>??<\/code><code>9 ? ? ? ? ? ? ? ? ? ? ? ?? <\/code><code>'select \/* test2 *\/ object_name <\/code><\/div>\n<div><code>10 ? ? ? ? ? ? ? ? ? ? ? ?? from t <\/code><\/div>\n<div><code>11 ? ? ? ? ? ? ? ? ? ? ? ?? where object_id='<\/code> <code>|| i; <\/code><\/div>\n<div><code>12 ? ? ? ? ? ? ? ?? <\/code><code>fetch<\/code> <code>l_rc <\/code><code>into<\/code> <code>l_object_name; <\/code><\/div>\n<div><code>13 ? ? ? ? ? ? ? ?? <\/code><code>close<\/code> <code>l_rc; <\/code><\/div>\n<div><code>14 ? ? ? ?? <\/code><code>end<\/code> <code>loop; <\/code><\/div>\n<div><code>15? <\/code><code>end<\/code><code>; <\/code><\/div>\n<div><code>16? \/ <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>PL\/SQL <\/code><code>procedure<\/code> <code>successfully completed. <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>Elapsed: 00:00:13.85 <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL&gt;? <\/code><code>select<\/code> <code>sql_text, loads, parse_calls, executions, fetches <\/code><code>from<\/code> <code>v$sql <\/code><\/div>\n<div><code>??<\/code><code>2? <\/code><code>where<\/code> <code>sql_text <\/code><code>like<\/code> <code>'%test2%'<\/code><\/div>\n<div><code>??<\/code><code>3? <\/code><code>and<\/code> <code>sql_text <\/code><code>not<\/code> <code>like<\/code> <code>'%v$sql%'<\/code><\/div>\n<div><code>??<\/code><code>4? <\/code><code>and<\/code> <code>sql_text <\/code><code>not<\/code> <code>like<\/code> <code>'declare%'<\/code><code>; <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>SQL_TEXT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? LOADS PARSE_CALLS EXECUTIONS ?? FETCHES <\/code><\/div>\n<div><code>---------------------------------------- ---------- ----------- ---------- ---------- <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>select<\/code> <code>\/* test2 *\/ object_name ? ? ? ? ? ? ? ? ?? 1 ? ? ? ? ? 1 ? ? ? ?? 1 ? ? ? ?? 1 <\/code><\/div>\n<div><code>??? ? ? ? ? ?? <\/code><code>from<\/code> <code>t <\/code><\/div>\n<div><code>??? ? <\/code><code>where<\/code> <code>object_id=19423 <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>select<\/code> <code>\/* test2 *\/ object_name ? ? ? ? ? ? ? ? ?? 1 ? ? ? ? ? 1 ? ? ? ?? 1 ? ? ? ?? 1 <\/code><\/div>\n<div><code>??? ? ? ? ? ?? <\/code><code>from<\/code> <code>t <\/code><\/div>\n<div><code>??? ? <\/code><code>where<\/code> <code>object_id=19178 <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>select<\/code> <code>\/* test2 *\/ object_name ? ? ? ? ? ? ? ? ?? 1 ? ? ? ? ? 1 ? ? ? ?? 1 ? ? ? ?? 1 <\/code><\/div>\n<div><code>??? ? ? ? ? ?? <\/code><code>from<\/code> <code>t <\/code><\/div>\n<div><code>??? ? <\/code><code>where<\/code> <code>object_id=19796 <\/code><\/div>\n<div><code>... \uc911\ub7b5 ... <\/code><\/div>\n<div><code>?<\/code><\/div>\n<div><code>1115 <\/code><code>rows<\/code> <code>selected.<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><span style=\"font-size: x-small\"><strong>\ud574\uc124 : \ud558\ub4dc \ud30c\uc2f1\uc774 11425\ubc88 \uc77c\uc5b4\ub0ac\uace0, \uc2e4\ud589\uc2dc\uac04\uc740 13.85\ucd08\uc774\ub2e4.<\/strong><\/span><\/p>\n<p><span style=\"font-size: small\"><strong>5. \uacb0\ub860<\/strong><\/span><br \/>\n\uac00. \ubc14\uc778\ub4dc \ubcc0\uc218\ub97c \uc0ac\uc6a9 \uc2dc \ud558\ub4dc \ud30c\uc2f1\uc740 \ucd5c\ucd08 1\ud68c \uc77c\uc5b4\ub098\uba70, \uc774\ud6c4 \uc0dd\uc131\ub41c \uc2e4\ud589\uacc4\ud68d(Library Cache)\uc744 \uc7ac\uc0ac\uc6a9\ud55c\ub2e4.<br \/>\n\ub098. \ubc14\uc778\ub4dc \ubcc0\uc218 \ubbf8\uc0ac\uc6a9 \uc2dc \uac01 sql\ubb38\uc7a5 \uc218 \ub9cc\ud07c \ud558\ub4dc\ud30c\uc2f1\uc774 \uc77c\uc5b4\ub09c\ub2e4.<br \/>\n\ub2e4. \uc2e4\ud589\uc18d\ub3c4 \ubc0f \uba54\ubaa8\ub9ac \uacf5\uac04\ud65c\uc6a9\uba74\uc5d0\uc11c \ubc14\uc778\ub4dc \ubcc0\uc218 \uc0ac\uc6a9\uc744 \uad8c\uc7a5\ud55c\ub2e4.<\/p>\n<p>\ucd9c\ucc98 :?http:\/\/www.jigi.net\/4295<\/p>\n","protected":false},"excerpt":{"rendered":"<p>iBatis 3 User Guide \uc758 String substition \ubd80\ubd84\uc5d0\uc11c \ucc3e\uc740 \ub0b4\uc6a9\uc785\ub2c8\ub2e4. &nbsp; #{} \ubb38\ubc95\uc740 iBatis\uac00 PreparedStatement\uc5d0 \ub300\ud55c Property\ub97c \uc0dd\uc131\ud558\uace0 \uc548\uc804\ud558\uac8c \uac12\uc744 \uc124\uc815\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4. \ub300\uc2e0 \uc785\ub825\ub41c \ubb38\uc790\uc5f4\uc744 \uc218\uc815\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc870\uae08 \ub290\ub9bd\ub2c8\ub2e4.&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/766"}],"collection":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=766"}],"version-history":[{"count":0,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=\/wp\/v2\/posts\/766\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.goorigo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}