{"id":612,"date":"2015-11-05T08:47:13","date_gmt":"2015-11-05T08:47:13","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=612"},"modified":"2015-11-05T08:47:13","modified_gmt":"2015-11-05T08:47:13","slug":"%ec%a1%b0%ec%9d%b8%ec%9d%98-%ed%8a%9c%eb%8b%9d-%eb%b0%a9%eb%b2%95-1","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=612","title":{"rendered":"\uc870\uc778\uc758 \ud29c\ub2dd \ubc29\ubc95 -1"},"content":{"rendered":"<p>\uc870\uc778\uc740&nbsp;2\uac1c \uc774\uc0c1\uc758 \ud14c\uc774\ube14\ub4e4\uc744 Relation Key\ub85c \uc5f0\uacb0\ud558\uc5ec Merge\uc2dc\ud0a4\ub294 \uac83\uc744 \ub9d0\ud55c\ub2e4.<\/p>\n<p><\/p>\n<p><b>\uc870\uc778 \uc885\ub958<\/b><\/p>\n<p>-\uc870\uc778 \uba54\uc18c\ub4dc : Nested Loop Join, Sort Merge Join, Hash Join-<\/p>\n<p>-\uc870\uc778 \ud0c0\uc785 : Basic(Natural) Join, Outer Join, Semi Join, Anti Join \ub4f1<\/p>\n<p><\/p>\n<p><b>Relation<\/b><\/p>\n<p>-WHERE\uc808\uc5d0 \uc870\uc778 \uc870\uac74\uc774 \ub204\ub77d\ub418\uac70\ub098 \uc11c\ub85c Relation\uc744 \uac16\uc9c0 \uc54a\ub294 \ud14c\uc774\ube14\uac04\uc758 \uc870\uc778\uc73c\ub85c \uc778\ud574 M:M Relation\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc74c<\/p>\n<p><\/p>\n<p><b>Cartesian Product<\/b><\/p>\n<p>-2\uac1c\uc758 \uc9d1\ud569\uc774 Relation Key\ub85c \uc5f0\uacb0\ub418\uc9c0 \ubabb\ud558\ub294 \uacbd\uc6b0\uc758 \uc870\uc778 Relation<\/p>\n<p>-\uc77c\ubc18\uc801\uc73c\ub85c \uc798\ubabb \uc791\uc131\ub41c SQL\uc5d0\uc11c \ube44\ub86f\ub418\uba70 \uc131\ub2a5\uc5d0 \uc88b\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uaf2d \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0\ub9cc \uc0ac\uc6a9<\/p>\n<p><\/p>\n<p><b>\uc870\uc778(join)\uc758 \uc608<\/b><\/p>\n<p>SQL&gt; SELECT c.cust_last_name, c.cust_first_name,&nbsp;<\/p>\n<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; co.country_id, &nbsp;co.country_name<\/p>\n<p>&nbsp; &nbsp; &nbsp;FROM &nbsp; customers c, countries co<\/p>\n<p>&nbsp; &nbsp; &nbsp;WHERE &nbsp;c.country_id = co.country_id <span style=\"WHITE-SPACE: pre\" class=\"Apple-tab-span\"><\/span>\uf0e7 \uc870\uc778 \uc220\uc5b4<\/p>\n<p>&nbsp; &nbsp; &nbsp;AND &nbsp; &nbsp;co.country_id = \u2018JP\u2019 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style=\"WHITE-SPACE: pre\" class=\"Apple-tab-span\"> <\/span>\uf0e7 \ube44\uc870\uc778 \uc220\uc5b4 (Predicates)<\/p>\n<p>&nbsp; &nbsp; &nbsp;OR &nbsp; &nbsp; c.coust_id = 205 ; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style=\"WHITE-SPACE: pre\" class=\"Apple-tab-span\"> <\/span>\uf0e7 \ub2e8\uc77c\ud589 \uc220\uc5b4 (Predicates)<\/p>\n<p><\/p>\n<p>\uc870\uc778 \uc220\uc5b4 : \uc870\uc778\uc5d0 \uc788\ub294 \ub450 \ud14c\uc774\ube14\uc758 \uc5f4\uc744 \uacb0\ud569\ud558\ub294 WHERE \uc808\uc5d0 \uc788\ub294 \uc220\uc5b4<\/p>\n<p>\ube44\uc870\uc778 \uc220\uc5b4 : \ud558\ub098\uc758 \ud14c\uc774\ube14\ub9cc \ucc38\uc870\ud558\ub294 WHERE \uc808\uc5d0 \uc788\ub294 \uc220\uc5b4<\/p>\n<p>\ub2e8\uc77c\ud589 \uc220\uc5b4 : \uace0\uc720 \ub610\ub294 PK \uc81c\uc57d \uc870\uac74\uc774 \uc788\ub294 \uc5f4\uc774\ub098 \ud574\ub2f9\ud558\ub294 \uc81c\uc57d \uc870\uac74 \uc5c6\uc774 \uace0\uc720 \uc778\ub371\uc2a4\uac00 \uc788\ub294 \uc5f4\uc758 \ub3d9\ub4f1 \uc220\uc5b4(Optimizer\ub294 \uc774\ub7ec\ud55c \uc220\uc5b4\uac00 \ud56d\uc0c1 \ud558\ub098\uc758 \ud589\uc744 \ubc18\ud658\ud558\uac70\ub098 \ud589\uc744 \uc804\ud600 \ubc18\ud658\ud558\uc9c0 \uc54a\ub294\ub2e4\ub294 \uc0ac\uc2e4\uc744 \uc778\uc2dd\ud568)<\/p>\n<div><\/div>\n<div>\n<div><span style=\"FONT-FAMILY: HY\ud5e4\ub4dc\ub77c\uc778M; COLOR: black; FONT-SIZE: 20pt; FONT-WEIGHT: bold; mso-ascii-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-fareast-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; text-combine: letters; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%\">Nested Loop Join<\/span><\/div>\n<div><b><br \/><\/b><\/div>\n<div>\uc120\ud589(Driving) \ud14c\uc774\ube14 \uc870\uac74\uc5d0 \ub9de\ub294 \ub370\uc774\ud130\uc640 \ub9e4\uce58\ub418\ub294 \uac12\uc744 \ub2e4\ub978(\ud6c4\ud589) \ud14c\uc774\ube14\uc5d0\uc11c \ucc38\uc870<\/div>\n<div><\/div>\n<div>\uc218\ud589\uacfc\uc815 &#8211; TAB1\uc774 \uc120\ud589 \ud14c\uc774\ube14\uc77c \ub54c<\/div>\n<div><\/div>\n<div>SQL&gt; SELECT a.FLD1, &#8230;, b.FLD1,&#8230;&nbsp;<\/div>\n<div>&nbsp; &nbsp; &nbsp;FROM &nbsp; TAB2 b, TAB1 a<\/div>\n<div>&nbsp; &nbsp; &nbsp;WHERE &nbsp;a.KEY1 = b.KEY2&nbsp;<\/div>\n<div>&nbsp; &nbsp; &nbsp;AND &nbsp; &nbsp;b.FLD2 like &#8216;A%&#8217;<\/div>\n<div>&nbsp; &nbsp; &nbsp;AND &nbsp; &nbsp;a.FLD1 = &#8217;10&#8217;<\/div>\n<div><\/div>\n<div>a.FLD1 \uc778\ub371\uc2a4 5000\uac74 Range Scan &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<\/div>\n<div>rowid\ub85c TAB1\uc5d0 5000\ud68c random access<\/div>\n<div>\uc131\uacf5\/\uc2e4\ud328\uc5d0 \uc0c1\uad00\uc5c6\uc774 b.KEY2 \uc778\ub371\uc2a4\uc5d0 5000\ud68c random access \ubc0f \uc870\uc778\uc2dc\ub3c4<\/div>\n<div>\uc870\uc778\uc5d0 \uc131\uacf5\ud55c rowid\ub85c TAB2\uc5d0 100\ud68c random access<\/div>\n<div>b.FLD2 like &#8216;A%&#8217; \uccb4\ud06c \ud6c4 \uc131\uacf5\ud55c 50\uac74 \uc6b4\ubc18\ub2e8\uc704 \uc774\ub3d9<\/div>\n<div><\/div>\n<div>\uc218\ud589\uacfc\uc815 &#8211; TAB2\uac00 \uc120\ud589\ud14c\uc774\ube14\uc77c \ub54c<\/div>\n<div><\/div>\n<div>SQL&gt; SELECT a.FLD1, &#8230;, b.FLD1,&#8230;&nbsp;<\/div>\n<div>&nbsp; &nbsp; &nbsp;FROM &nbsp; TAB2 b, TAB1 a<\/div>\n<div>&nbsp; &nbsp; &nbsp;WHERE &nbsp;a.KEY1 = b.KEY2&nbsp;<\/div>\n<div>&nbsp; &nbsp; &nbsp;AND &nbsp; &nbsp;b.FLD2 like &#8216;A%&#8217;<\/div>\n<div>&nbsp; &nbsp; &nbsp;AND &nbsp; &nbsp;a.FLD1 = &#8217;10&#8217;<\/div>\n<div><\/div>\n<div>b.FLD2 \uc778\ub371\uc2a4 100\uac74 Range Scan<\/div>\n<div>TAB2\uc758 100\ud68c random access<\/div>\n<div>\uc131\uacf5\/\uc2e4\ud328\uc5d0 \uc0c1\uad00\uc5c6\uc774 a.KEY1 \uc778\ub371\uc2a4\uc5d0 100\ud68c random access \ubc0f \uc870\uc778\uc2dc\ub3c4<\/div>\n<div>\uc870\uc778\uc5d0 \uc131\uacf5\ud55c rowid\ub85c TAB1\uc5d0 70\ud68c random access<\/div>\n<div>a.FLD1 = &#8217;10&#8217; \uccb4\ud06c \ud6c4 \uc131\uacf5\ud55c 50\uac74 \uc6b4\ubc18\ub2e8\uc704 \uc774\ub3d9<\/div>\n<div><\/div>\n<div>\ud2b9\uc9d5<\/div>\n<div>\uc120\ud589 \ud14c\uc774\ube14\uc758 \ucc98\ub9ac\ubc94\uc704\uac00 \uc77c\ub7c9\uc744 \uacb0\uc815\ud568(\ubc29\ud5a5\uc131)<\/div>\n<div>\uc120\ud589 \ud14c\uc774\ube14\uc758 \uac12\uc744 \ubc1b\uc544\uc11c \ud6c4\ud589 \ud14c\uc774\ube14\uc758 \ucc98\ub9ac\ubc94\uc704\uac00 \uacb0\uc815\ub428(\uc885\uc18d\uc801)<\/div>\n<div>\uc8fc\ub85c random access \ubc29\uc2dd\uc73c\ub85c \ucc98\ub9ac\ub428(random access)<\/div>\n<div>\ud6c4\ud589 \ud14c\uc774\ube14\uc758 \uc870\uc778 \uceec\ub7fc\uc758 \uc778\ub371\uc2a4\uc758 \uc720\ubb34 \ubc0f \uc870\uac74\uc758 \uc778\ub371\uc2a4 \ucc38\uc5ec\uc758 \uc815\ub3c4\uc5d0 \ub530\ub77c \uc218\ud589\uc18d\ub3c4\uac00 \ub9ce\uc774 \ucc28\uc774 \ub0a8(\uc5f0\uacb0\uace0\ub9ac \uc0c1\ud0dc)<\/div>\n<div><\/div>\n<div>\uc0ac\uc6a9\uae30\uc900<\/div>\n<div>\ubd80\ubd84\ubc94\uc704\ucc98\ub9ac\ub97c \ud558\ub294 \uacbd\uc6b0\uc5d0 \uc720\ub9ac\ud568<\/div>\n<div>\ucc98\ub9ac\ub7c9\uc774 \uc801\uc740 \uacbd\uc6b0\uc5d0 \uc720\ub9ac\ud568 (random access\uac00 \ub9ce\uc744 \uacbd\uc6b0 \uc218\ud589\uc18d\ub3c4\ub97c \ubcf4\uc7a5\ud560 \uc218 \uc5c6\uc73c\ubbc0\ub85c Sort Merge Join\uc774\ub098 Hash Join\uc73c\ub85c \uc720\ub3c4)<\/div>\n<div>\uc120\ud589 \ud14c\uc774\ube14\uc758 \uacb0\uacfc\ub97c \ubc1b\uc544\uc57c\ub9cc \ud6c4\ud589 \ud14c\uc774\ube14\uc758 \ucc98\ub9ac\ubc94\uc704\ub97c \uc904\uc77c \uc218 \uc788\ub294 \uacbd\uc6b0\uc5d0 \uc720\ub9ac\ud568 (\uc5f0\uacb0\uace0\ub9ac\uc5d0 Index\uac00 \ubc18\ub4dc\uc2dc \uc874\uc7ac\ud558\uc5ec\uc57c \ud568)<\/div>\n<div>\uc120\ud589 \ud14c\uc774\ube14\uc758 \ucc98\ub9ac\ubc94\uc704\uac00 \uc218\ud589\uc18d\ub3c4\uc5d0 \uc808\ub300\uc801 \uc601\ud5a5\uc744 \ubbf8\uce58\ubbc0\ub85c \ucd5c\uc801\uc758 \uc870\uc778 \uc21c\uc11c\uac00 \ub420 \uc218 \uc788\ub3c4\ub85d \uc720\ub3c4\ud574\uc57c \ud568<\/div>\n<\/div>\n<div><\/div>\n<div><span style=\"FONT-FAMILY: HY\ud5e4\ub4dc\ub77c\uc778M; COLOR: black; FONT-SIZE: 20pt; FONT-WEIGHT: bold; mso-ascii-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-fareast-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; text-combine: letters; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%\">Sort <\/span><span style=\"FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 20pt; FONT-WEIGHT: bold; mso-ascii-font-family: Arial; mso-fareast-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; text-combine: letters; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%\">\u2013<\/span><span style=\"FONT-FAMILY: HY\ud5e4\ub4dc\ub77c\uc778M; COLOR: black; FONT-SIZE: 20pt; FONT-WEIGHT: bold; mso-ascii-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-fareast-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; text-combine: letters; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%\"> Merge Join<\/span><\/div>\n<div>\n<div><\/div>\n<div>\uc591\ucabd\ud14c\uc774\ube14\uc744 \uac01\uc790 \uc561\uc138\uc2a4\ud558\uc5ec \ucc98\ub9ac \ubc94\uc704\ub97c \uc904\uc774\uace0, \uc870\uc778\uceec\ub7fc \uc21c\uc73c\ub85c \ub370\uc774\ud130\ub97c Sort \ud6c4\uc5d0 \uc870\uc778\ud558\ub294 \ubc29\uc2dd<\/div>\n<div><\/div>\n<div>\uc218\ud589\uacfc\uc815<\/div>\n<div><span style=\"LINE-HEIGHT: 1.5; FONT-SIZE: 9pt\">-a.FLD1 \uc778\ub371\uc2a4 Range Scan<\/span><\/div>\n<div>-rowid\ub85c TAB1\uc5d0 random access<\/div>\n<div>-\uc870\uc778\uceec\ub7fc\uc778 a.KEY1\ub85c SORT<\/div>\n<div>-b.FLD2 \uc778\ub371\uc2a4 Range Scan<\/div>\n<div>-rowid\ub85c TAB2\uc5d0 random access<\/div>\n<div>-\uc870\uc778\uceec\ub7fc\uc778 b.KEY2\ub85c SORT<\/div>\n<div>-\uc591\ucabd \uc9d1\ud569\uc744 Scan\ud558\uba74\uc11c a.KEY1 = b.KEY2 \uc870\uc778 \uc2dc\ub3c4<\/div>\n<div>-\uc131\uacf5\ud55c Row \uc6b4\ubc18\ub2e8\uc704 \uc774\ub3d9<\/div>\n<\/div>\n<div><\/div>\n<div>\n<div>\ud2b9\uc9d5<\/div>\n<div>\uc0c1\ub300 \ud14c\uc774\ube14\ub85c\ubd80\ud130 \uacb0\uacfc \uac12\uc744 \uc81c\uacf5\ubc1b\uc9c0 \uc54a\uace0, \uc790\uc2e0\uc5d0\uac8c \uc8fc\uc5b4\uc9c4 \uc870\uac74\uc73c\ub85c\ub9cc \ucc98\ub9ac\ubc94\uc704\ub97c \uacb0\uc815\ud568(\ub3c5\ub9bd\uc801)<\/div>\n<div>\uac01\uc790 SORT\ud6c4\uc5d0 \uc870\uc778\ud568\uc73c\ub85c \ubd80\ubd84\ubc94\uc704 \uc544\ub2cc \uc804\uccb4\ubc94\uc704 \ucc98\ub9ac\ub97c \ud568(\uc804\uccb4\ubc94\uc704 \ucc98\ub9ac)<\/div>\n<div>\uc870\uc778\uc758 \uc21c\uc11c\uc5d0\ub294 \uc0c1\uad00\uc5c6\uc74c(\ubb34\ubc29\ud5a5\uc131)<\/div>\n<div>\uc778\ub371\uc2a4\uac00 \uc544\ub2cc \uceec\ub7fc\ub3c4 Merge\ud560 \uc791\uc5c5 \ub300\uc0c1\uc744 \uc904\uc774\ubbc0\ub85c \uc911\uc694\ud55c \uc758\ubbf8\ub97c \uac00\uc9d0<\/div>\n<div>\ud14c\uc774\ube14\ub85c\ubd80\ud130 \uc77d\uc744 \ub54c DB_FILE_MULTIBLOCK_READ_COUNT\ub97c \uc801\uc6a9\ud568<\/div>\n<div><\/div>\n<div>\uc0ac\uc6a9\uae30\uc900<\/div>\n<div>\ucc98\ub9ac\ub7c9\uc774 \ub9ce\uac70\ub098 \uc804\uccb4\ubc94\uc704 \ucc98\ub9ac \uc2dc\uc5d0 \uc720\ub9ac\ud568(random access\uac00 \ub9ce\uc740 Nested Loop Join\uc740 \ubd88\ub9ac)<\/div>\n<div>\uc2a4\uc2a4\ub85c \uc790\uc2e0\uc758 \ucc98\ub9ac\ubc94\uc704\ub97c \ub9ce\uc774 \uc904\uc77c \uc218 \uc788\uc744 \ub54c \uc720\ub9ac\ud568<\/div>\n<div>\uc5f0\uacb0\uace0\ub9ac \uc774\uc0c1 \uc0c1\ud0dc\uc5d0 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc73c\ubbc0\ub85c \uc5f0\uacb0\uace0\ub9ac \uceec\ub7fc\uc744 \uc704\ud55c \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud558\uc9c0 \uc54a\uace0\ub3c4 \uc720\uc6a9\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc74c<\/div>\n<div>\ucc98\ub9ac\ud560 \ub370\uc774\ud130\ub7c9\uc774 \uc801\uc740 \uc628\ub77c\uc778 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c\ub294 Nested Loop Join\uc774 \uc720\ub9ac\ud55c \uacbd\uc6b0\uac00 \ub9ce\uc73c\ubbc0\ub85c Sort Merge Join\uc740 \uc8fc\uc758\ud558\uc5ec \uc0ac\uc6a9\ud574\uc57c \ud568<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div><span style=\"FONT-FAMILY: HY\ud5e4\ub4dc\ub77c\uc778M; COLOR: black; FONT-SIZE: 20pt; FONT-WEIGHT: bold; mso-ascii-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-fareast-font-family: HY\ud5e4\ub4dc\ub77c\uc778M; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; text-combine: letters; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%\">Hash Join&nbsp;<\/span><\/div>\n<p>\ud574\uc281\ud568\uc218 \uae30\ubc95\uc744 \ud65c\uc6a9\ud558\uc5ec \uc870\uc778\uc744 \uc218\ud589\ud558\ub294 \ubc29\uc2dd\uc73c\ub85c \ub300\ub7c9\uc758 \ub370\uc774\ud130\ub97c \uc870\uc778\ud558\ub294\ub370 \uc8fc\ub85c \uc0ac\uc6a9\ub418\uba70 CBO\uc758 \ub3d9\uce58\uc870\uc778(equijoin)\uc5d0\uc11c\ub9cc \uac00\ub2a5<\/p>\n<p><\/p>\n<p>\uc218\ud589\uacfc\uc815<\/p>\n<p>-\ub450 \ud14c\uc774\ube14 \uc911 \uc801\uc740 \ud14c\uc774\ube14\uc744 \uc120\ud589 \ud14c\uc774\ube14\ub85c \uacb0\uc815<\/p>\n<p>-\uc120\ud589 \ud14c\uc774\ube14\uc744 Hash Function\uc744 \uc774\uc6a9\ud558\uc5ec Hash Area\uc5d0 Hash Table\uc744 \uad6c\uc131(Build Input)<\/p>\n<p>-Hash Area\ub9cc\uc73c\ub85c Hash Table\uc774 \uc0dd\uc131 \uac00\ub2a5\ud558\ub2e4\uba74 \ud6c4\ud589\ud14c\uc774\ube14\uc740 \ud06c\uae30\uc5d0 \uc0c1\uad00\uc5c6\uc774 \ucc28\ub840\ub85c Hash Function\uc744 \uc774\uc6a9\ud558\uc5ec Hash Table\uacfc \uc870\uc778(Probe Input)\ud558\uba74\uc11c \uc131\uacf5\ud55c \uacb0\uacfc\uac12\uc744 \uc6b4\ubc18\ub2e8\uc704\ub85c \uc774\ub3d9<\/p>\n<p>-Hash Area\ub9cc\uc73c\ub85c Hash Table \uc0dd\uc131\uc774 \ubd88\ucda9\ubd84 \ud558\ub2e4\uba74 Hash Table Overflow\uac00 \ubc1c\uc0dd\ud558\uc5ec \ub370\uc774\ud130\ub97c \ub098\ub220\uc11c \uc800\uc7a5 \ud560 Partition \uc218\ub97c \uacb0\uc815(Fan-out)<\/p>\n<p>-\uc120\ud589 \ud14c\uc774\ube14\uc758 \uc870\uc778 \uceec\ub7fc\uacfc Select List \uceec\ub7fc\uc744 \uba54\ubaa8\ub9ac\ub85c \uc77d\uc5b4 \ub4e4\uc5ec \uccab\ubc88\uc9f8 Hash Function\uc744 \uc774\uc6a9\ud558\uc5ec Partition\uc744 Mapping\ud558\uace0, \ub450\ubc88\uc9f8 Hash Function\ub97c \uc774\uc6a9\ud558\uc5ec Hash Table \uc0dd\uc131\uc2dc \uc0ac\uc6a9 \ud560 Hash Value\ub97c \uc0dd\uc131<\/p>\n<p>-\uc120\ud589 \ud14c\uc774\ube14\uc758 \uc870\uc778 \uceec\ub7fc\uc758 \uc720\uc77c \uac12\ub9cc\uc73c\ub85c Bit-Vector\uc744 \uc0dd\uc131(\ucd94\ud6c4 Bit-Vector filtering\uc5d0 \uc0ac\uc6a9\ud558\uae30 \uc704\ud568)<\/p>\n<p>-Partition\uc5d0 \ub370\uc774\ud130\ub97c MOVE\ud558\uace0 \ucc44\uc6cc\uc9c4 Partition\uc740 \ub514\uc2a4\ud06c\ub85c \ub0b4\ub824\uac10<\/p>\n<p>-\uc120\ud589 \ud14c\uc774\ube14\uc774 \ubaa8\ub450 \uc77d\ud600\uc9c0\uba74 Partition \ud14c\uc774\ube14\uc744 \uc644\uc131\ud558\uace0, Partition \ud06c\uae30\uc21c\uc73c\ub85c \uc815\ub82c\ud55c \ud6c4 \uc791\uc740 Partition N\uac1c\ub97c \uba54\ubaa8\ub9ac\uc5d0 \ub85c\ub4dc<\/p>\n<p>-\ud6c4\ud589 \ud14c\uc774\ube14\uc744 \uc77d\uc73c\uba74\uc11c \uc870\uc778\uceec\ub7fc\uc73c\ub85c Bit-Vector\uc640 Filtering\uc5d0 \uc131\uacf5\ud558\uc600\ub2e4\uba74, \uccab\ubc88\uc9f8 Hash Function\uc73c\ub85c Partition\uc744 \uacb0\uc815\ud558\uace0, \ub450\ubc88\uc9f8 Hash Function\ub97c \uc774\uc6a9\ud558\uc5ec \uba54\ubaa8\ub9ac \uc0c1\uc5d0 \uc788\ub294 \uc120\ud589\ud14c\uc774\ube14\uacfc \uc870\uc778\ud558\uace0 \uc131\uacf5\ud558\uba74 \uc6b4\ubc18\ub2e8\uc704\ub85c \uc774\ub3d9\ud558\uace0, \ud574\ub2f9 Partition\uc774 \uba54\ubaa8\ub9ac\uc5d0 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4\uba74 Hash Key Value, \uc870\uc778\uceec\ub7fc, Select List\ub97c \ub514\uc2a4\ud06c\uc5d0 \uc500<\/p>\n<p>-\ud6c4\ud589 \ud14c\uc774\ube14\uc774 \ubaa8\ub450 \uc77d\ud600\uc9c0\uba74,Bit-Vector Filtering\uc5d0 \uc131\uacf5\ud588\uc9c0\ub9cc,\uc870\uc778\uc5d0 \uc131\uacf5\ud558\uc9c0 \ubabb\ud574 \ubbf8 \ucc98\ub9ac\ub41c \uc120\ud589 \ud30c\ud2f0\uc158\uacfc \ud6c4\ud589 \ud30c\ud2f0\uc158\uc744 \uba54\ubaa8\ub9ac\uc5d0 \uc62c\ub824 \ucc28\ub840\ub85c \ubc18\ubcf5\uc218\ud589<\/p>\n<div><\/div>\n<div>\n<div>\ud2b9\uc9d5<\/div>\n<div>\ub2e4\ub978 \ud14c\uc774\ube14\uc758 \uacb0\uacfc \uac12\uc744 \uc81c\uacf5\ubc1b\uc9c0 \uc54a\uace0, \uc790\uc2e0\uc5d0\uac8c \uc8fc\uc5b4\uc9c4 \uc870\uac74\uc73c\ub85c\ub9cc \ucc98\ub9ac\ubc94\uc704\ub97c \uacb0\uc815\ud568(\ub3c5\ub9bd\uc801)<\/div>\n<div>Hash Function\uc744 \uc774\uc6a9\ud558\uc5ec mapping\ud558\ub294 \ud6c4\ud589\ud14c\uc774\ube14\uc740 \uc804\uccb4\ubc94\uc704 \ucc98\ub9ac\ub97c \ud558\uac8c \ub428(\ubc18 \ubd80\ubd84\ubc94\uc704 \ucc98\ub9ac)<\/div>\n<div>\uba54\ubaa8\ub9ac \uc601\uc5ed\ub9cc\uc73c\ub85c Hash Table\uc744 \uc0dd\uc131\ud560 \ub54c \ucd5c\uc801\uc758 \ud6a8\uacfc\ub97c \ub0bc \uc218 \uc788\uc73c\ubbc0\ub85c \uc801\uc740 \ud14c\uc774\ube14\uc774 \uc120\ud589\ud14c\uc774\ube14\ub85c \uc120\ud0dd\ub428<\/div>\n<div>Hash Function\uc744 \uc774\uc6a9\ud558\ubbc0\ub85c \uacb0\uacfc\uac12\uc758 \uc815\ub82c\uc744 \ubcf4\uc7a5 \ubc1b\uc744 \uc218 \uc5c6\uc74c<\/div>\n<div><\/div>\n<div>\uc0ac\uc6a9\uae30\uc900<\/div>\n<div>\ub300\ub7c9\uc758 \ub370\uc774\ud130 access\uc2dc, \ubc30\uce58 \ucc98\ub9ac, Full Table Scan \ud558\uba74\uc11c \uc870\uc778 \ud574\uc57c \ud560 \ub54c \uc720\ub9ac\ud568<\/div>\n<div>\ube44\uc6a9\uc740 \ub9ce\uc774 \ub4e4\uc9c0\ub9cc \uc218\ud589\uc18d\ub3c4\ub97c \ubcf4\uc7a5\ud574\uc57c \ud558\ub294 \uc791\uc5c5\uc5d0 \uc720\uc6a9<\/div>\n<div>\uac00\ub2a5\ud55c \uba54\ubaa8\ub9ac \ub0b4\uc5d0\uc11c \uc791\uc5c5 \uac00\ub2a5\ud558\ub3c4\ub85d initialization Parameter\ub098 Session \uc815\ubcf4\ub97c \ubcc0\uacbd\ud558\uc5ec \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud568(HASH_AREA_SIZE \ub4f1)<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div>\n<p style=\"text-align: left; clear: none; float: none;\"><img loading=\"lazy\" src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile6.uf.270F0F425654FE441C19A0.png?resize=580%2C274\" class=\"aligncenter\" width=\"580\" height=\"274\" filename=\"\uc774\ubbf8\uc9c0 1.png\" filemime=\"image\/jpeg\" data-recalc-dims=\"1\" \/><\/p>\n<p><\/p>\n<p><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc870\uc778\uc740&nbsp;2\uac1c \uc774\uc0c1\uc758 \ud14c\uc774\ube14\ub4e4\uc744 Relation Key\ub85c \uc5f0\uacb0\ud558\uc5ec Merge\uc2dc\ud0a4\ub294 \uac83\uc744 \ub9d0\ud55c\ub2e4. \uc870\uc778 \uc885\ub958 -\uc870\uc778 \uba54\uc18c\ub4dc : Nested Loop Join, Sort Merge Join, Hash Join- -\uc870\uc778 \ud0c0\uc785 : Basic(Natural) Join, Outer Join, Semi Join, Anti Join \ub4f1 Relation -WHERE\uc808\uc5d0 \uc870\uc778 \uc870\uac74\uc774 \ub204\ub77d\ub418\uac70\ub098 \uc11c\ub85c Relation\uc744 \uac16\uc9c0 \uc54a\ub294 \ud14c\uc774\ube14\uac04\uc758 \uc870\uc778\uc73c\ub85c \uc778\ud574 M:M Relation\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc74c Cartesian Product -2\uac1c\uc758 \uc9d1\ud569\uc774 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":613,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[11],"tags":[288,289,290],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/1\/cfile6.uf.270F0F425654FE441C19A0.png?fit=580%2C274","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/612"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=612"}],"version-history":[{"count":0,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/612\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/613"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=612"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}