{"id":2490,"date":"2018-01-28T16:22:22","date_gmt":"2018-01-28T07:22:22","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=2490"},"modified":"2018-01-28T16:24:56","modified_gmt":"2018-01-28T07:24:56","slug":"%ec%98%a4%eb%9d%bc%ed%81%b4-db-%ec%9d%98-spatial-%ec%8a%a4%ed%8c%8c%ec%83%ac","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=2490","title":{"rendered":"\uc624\ub77c\ud074 DB \uc758 Spatial ( \uc2a4\ud30c\uc0ec )"},"content":{"rendered":"<h2><a name=\"_Toc515890453\"><\/a>Spatial Overview<\/h2>\n<p>Oracle 9i Spatial\uc5d0\uc11c \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \ud2b9\uc9d5\uc740 Spatial \uc790\uccb4\uc758 enhancement\ub77c\uae30 \ubcf4\ub2e4\ub294<\/p>\n<p>Domain Index \uc790\uccb4\uc758 enhancement\uc5d0 \uae30\uc778\ud55c \ubc14\uac00 \ud06c\ub2e4.<\/p>\n<p>Oracle 9i Spatial\uc740 \ub370\uc774\ud130\ub97c \uc5d1\uc138\uc2a4\ud558\uace0 \ub2e4\ub8e8\ub294 \ub370 \uc788\uc5b4\uc11c<\/p>\n<p>domain index \ud0c0\uc785\uc778 spatial indextype\uc744 \ud56d\uc0c1 \uc0ac\uc6a9\ud55c\ub2e4\uace0 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n<p>\ud06c\uac8c Oracle 9i Spatial\uc5d0 \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \ud2b9\uc9d5\uc73c\ub85c\ub294 \uc0ac\uc6a9\uc790\uac00 aggregate \ud568\uc218\ub97c \uc815\uc758\ud560 \uc218 \uc788\uace0<\/p>\n<p>range-partition \ud14c\uc774\ube14\uc5d0 \uac01 partition\uc5d0 spatial index\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc73c\uba70<\/p>\n<p>function\uc758 return\uac12\uc5d0\ub3c4 spatial index\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc774 \uc7a5\uc5d0\uc11c \uc9c0\uae08\ubd80\ud130 \ud558\ub098\ud558\ub098 \uc790\uc138\ud788 \uc0b4\ud3b4 \ubcf4\uae30\ub85c \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515890454\"><\/a>Using Partitioned Spatial Indexes<\/h3>\n<p>\uc9c0\ub9ac \uc815\ubcf4 \ub370\uc774\ud130\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ub9e4\uc6b0 \ucee4\uc11c \ud558\ub098\uc758 \ud14c\uc774\ube14\uc5d0 \uba87 \ubc31\ub9cc\uac1c\uc758 Row\uac00 \uc874\uc7ac\ud558\uac70\ub098 \ud558\ub294 \uc0c1\ud669\uc774 \ud754\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c \uacbd\uc6b0\uc5d0 I\/O\uc758 \ub85c\ub4dc \ubd84\uc0b0\uacfc \uad00\ub9ac\uc758 \ud3b8\uc758\ub97c \uc704\ud558\uc5ec partitioning\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc558\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 8i \uc774\uc804 \ubc84\uc804\uc5d0\uc11c\ub294\u00a0 Spatial index\uc758 \uacbd\uc6b0\uc5d0\ub294 \uc6d0\ub798\uc758 \ud14c\uc774\ube14\uc774 partition\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0\uc5d0\ub3c4<\/p>\n<p>domain index\ub294 partition\ub418\uc5b4 \uc788\uc9c0 \uc54a\uace0 \ud558\ub098\uc758 global domain index \ub9cc \uac00\ub2a5\ud558\uc600\uc73c\uba70 partitioning\u00a0 \uae30\ubc95\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc5c8\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 9i \ubd80\ud130\ub294 spatial index\uc5d0 \ub300\ud574\uc11c\ub3c4 partitioning\uc744 \uc9c0\uc6d0\ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud558\uc5ec local domain index\ub97c \ub9cc\ub4dc\ub294 \uac83\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 \ubaa8\ub4e0 \uacbd\uc6b0\uc5d0 partitioning\uc774 \uc774\ub8e8\uc5b4\uc9c0\ub294 \uac83\uc740 \uc544\ub2c8\uba70 \ud604\uc7ac\uae4c\uc9c0\ub294 spatial column\uc774 \uc544\ub2cc \uc2a4\uce7c\ub77c \uce7c\ub7fc\uc5d0 \ub300\ud574\uc11c<\/p>\n<p>range partitioned \ub41c \ud14c\uc774\ube14\ub9cc \uac00\ub2a5\ud558\uba70 hash parition \uc774\ub098 list partition\uc5d0 \ub300\ud574\uc11c\ub294 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<p>Local domain index\ub97c \uc0dd\uc131\ud558\ub294 \uac83\uc740 \u201cLocal\u201d keyword\ub97c \ud1b5\ud558\uc5ec \uc774\ub8e8\uc5b4\uc838\uc11c \uc544\ub798\uc640 \uac19\uc774 \uc77c\ubc18\uc801\uc778 local partitioned index \ucc98\ub7fc<\/p>\n<p>\uac01\uac01\uc758\u00a0 partition\ub2f9 storage parameter\ub97c \ub2e4\ub974\uac8c \uc124\uc815\ud558\uc5ec \uc8fc\ub294 \uac83\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 spatial parameter \uc5d0 \ub300\ud574\uc11c\ub294 \uc804\uccb4 \ud14c\uc774\ube14\uc5d0 \ub300\ud574\uc11c \uac19\uc740 \uac12\uc744 \uc720\uc9c0\ud574\uc57c \ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"491\">CREATE INDEX counties_idx on counties(geometry)<\/p>\n<p>INDEXTYPE IS mdsys.spatial_index<\/p>\n<p>PARAMETERS (\u2018sdo_level = 6 tablespace = def_tbs\u2019)<\/p>\n<p>LOCAL<\/p>\n<p>(PARTITION ip1 PARAMETERS(\u2018sdo_level = 6 tablespace=local_tbs1\u2019),<\/p>\n<p>PARTITION ip2 PARAMETERS(\u2018sdo_level = 6 tablespace=local_tbs2\u2019);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515890455\"><\/a>Function Based Index<\/h3>\n<p>Oracle 9i\uc5d0 \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \uae30\ub2a5\uc73c\ub85c function\uc758 output\uc5d0 domain index\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc774\ub2e4.<\/p>\n<p>\uc774 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uba74 sdo_geometry\u00a0 \ud0c0\uc785\uc758 spatial \uce7c\ub7fc\uc774 \uc544\ub2cc \uc77c\ubc18 relational \uce7c\ub7fc\uc5d0 \uc788\ub294 \ub370\uc774\ud130\uc5d0 \ub300\ud574\uc11c spatial index\ub97c \uc124\uc815\ud560 \uc218 \uc788\uac8c \ub41c\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uba74 \ud2b9\uc815 \uc9c0\uc810\uc5d0 \ub300\ud55c \uc704\ub3c4\uc640 \uacbd\ub3c4\uac00 relational column\uc73c\ub85c \uc874\uc7ac\ud558\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud14c\uc774\ube14\uc774 \uc874\uc7ac\ud558\uace0<\/p>\n<p>\uc774\ub97c \uc774\uc6a9\ud558\uc5ec point \ud0c0\uc785\uc758 sdo_geometry\ub97c\u00a0 return\ud558\ub294 \uc544\ub798\uc640 \uac19\uc740 \ud568\uc218\uac00 \uc788\ub2e4\uace0 \ud558\uba74 \uc774 \ud568\uc218 \uc790\uccb4\uc5d0 spatial index\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"491\">CREATE TABLE addr_geocode (<\/p>\n<p>id NUMBER PRIMARY KEY,<\/p>\n<p>name VARCHAR2(30),<\/p>\n<p>longitude NUMBER,<\/p>\n<p>latitude NUMBER ) ;<\/p>\n<p>&nbsp;<\/p>\n<p>CREATE FUNCTION get_long_lat_pt (<\/p>\n<p>Longitude\u00a0\u00a0\u00a0\u00a0 IN\u00a0\u00a0\u00a0\u00a0 NUMBER,<\/p>\n<p>latitude\u00a0\u00a0\u00a0\u00a0 IN\u00a0\u00a0\u00a0\u00a0 NUMBER )<\/p>\n<p>RETURN mdsys.sdo_geometry<\/p>\n<p>DETERMINISTIC IS<\/p>\n<p>BEGIN<\/p>\n<p>RETURN mdsys.sdo_geometry (<\/p>\n<p>2001, 8307, mdsys.sdo_point_type (longitude, latitude, NULL ), NULL, NULL );<\/p>\n<p>END;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\ud568\uc218\uc758 return \uac12\uc774 sdo_geometry\uc774\uae30\ub9cc \ud558\uba74 \uc77c\ubc18 \ub370\uc774\ud130 \ud14c\uc774\ube14\uc5d0 \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud558\ub294 \uac83\uacfc \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c spatial index\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uac8c \ub41c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"491\">CREATE INDEX addr_geocode_idx on addr_geocode(get_long_lat_pt(longitude, latitude))<\/p>\n<p>INDEXTYPE is mdsys.spatial_index;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\uc704\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c \uc0dd\uc131\ub41c spatial index\uc5d0\ub294 \ubaa8\ub4e0 spatial operator\ub97c \ubb38\uc81c\uc5c6\uc774 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>Control-0<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515890456\"><\/a>User defined Aggregate<\/h3>\n<p>Oracle 9i\ub294 extensibility\uc758 enhancement\ub85c user defined aggregate fuction \ud568\uc218\ub97c \ub9cc\ub4e4 \uc218 \uc788\uac8c \ub418\uc5b4 object \ud0c0\uc785\uc5d0 \ub300\ud574\uc11c\ub3c4<\/p>\n<p>sum\uc774\ub098 AVG\uc640 \ube44\uc2b7\ud55c \ubc29\uc2dd\uc73c\ub85c \ub3d9\uc791\ud558\ub294 aggregation \ud568\uc218\ub97c \ub9cc\ub4e4 \uc218 \uc788\uac8c \ub418\uc5c8\ub2e4.<\/p>\n<p>Oracle 9i Spatial\uc740 \uc774\ub97c \uc774\uc6a9\ud558\uc5ec group by \uc5d0 \ub300\ud574\uc11c \ub3d9\uc791\ud558\ub294 aggregation \ud568\uc218\ub97c \uc0c8\ub85c \uc81c\uc2dc\ud558\uc600\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \uc774\ubc88\uc5d0 \uc0c8\ub86d\uac8c \ub4f1\uc7a5\ud55c aggregation \ud568\uc218\uc5d0 \ub300\ud55c \uc18c\uac1c\uc774\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"142\"><em>\ud568\uc218 <\/em><em>\uc774\ub984<\/em><\/td>\n<td width=\"142\"><em>\ub300\uc751 <\/em><em>\ud568\uc218<\/em><\/td>\n<td width=\"208\"><em>\uc124\uba85<\/em><\/td>\n<\/tr>\n<tr>\n<td width=\"142\">SDO_AGGR_CENTROID<\/td>\n<td width=\"142\">SDO_CENTROID<\/td>\n<td width=\"208\">Group by\ub41c geometries\ub4e4\uc758 \ubb34\uac8c\uc911\uc2ec\uc810\uc744\u00a0 return\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td width=\"142\">SDO_AGGR_CONVEXHULL<\/td>\n<td width=\"142\">SDO_CONVEXHULL<\/td>\n<td width=\"208\">Group by \ub41c geometries\ub4e4\uc744 \ubaa8\ub450 \uac10\uc2f8\ub294 \ubcfc\ub85d \ub2e4\uac01\ud615\uc744\u00a0 return\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td width=\"142\">SDO_AGGR_LRS_CONCAT<\/td>\n<td width=\"142\">SDO_LRS_CONCAT<\/td>\n<td width=\"208\">Group by\ub41c LRS geometries\ub4e4\uc758 \ubaa8\ub4e0 concatenation\ub41c LRS geometries\ub4e4\uc744 return\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td width=\"142\">SDO_AGGR_MBR<\/td>\n<td width=\"142\">SDO_MBR<\/td>\n<td width=\"208\">Group by\ub41c \ubaa8\ub4e0 geometries\ub4e4\uc744 \uac10\uc2f8\ub294 minimun bounding rectangle\uc744 return\ud55c\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td width=\"142\">SDO_AGGR_UNION<\/td>\n<td width=\"142\">SDO_UNION<\/td>\n<td width=\"208\">Group by\ub41c \ubaa8\ub4e0 geometries\ub4e4\uc758 topological union\uc744 \uad6c\ud558\uc5ec \uc774\ub97c return\ud55c\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\uc2e4\uc81c\ub85c \uc704\uc758 \ud568\uc218\ub4e4\uc774 \ubc1b\uc544\ub4e4\uc774\ub294 argument \ud0c0\uc785\uc740 mdsys.sdoaggrtype\uc744 \ubc1b\uc544\ub4e4\uc778\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 \uc774\ub294 \uc2e4\uc81c\ub85c \uc0ac\uc6a9\ub418\ub294 \ud0c0\uc785\uc774 \uc544\ub2c8\uba70 spatial aggregation \ud568\uc218 \ud638\ucd9c\uc2dc \ub0b4\ubd80\uc801\uc73c\ub85c \uc774 \ud0c0\uc785\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<h2><a name=\"_Toc515890457\"><\/a>\ud14c\uc2a4\ud2b8<\/h2>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515890458\"><\/a>\ud658\uacbd \uc124\uc815<\/h3>\n<p>Spatial index\ub97c \uc0dd\uc131\ud558\uae30 \uc704\ud574\uc11c\ub294 \ud574\ub2f9 \ud14c\uc774\ube14\uacfc \ud14c\uc774\ube14 \uc548\uc758 \uc5b4\ub5a4 \uce7c\ub7fc\uc774\u00a0 \uc9c0\ub9ac \uc815\ubcf4\ub97c \ub2f4\uace0 \uc788\ub294\uc9c0\uc5d0<\/p>\n<p>\ub300\ud55c \uc815\ubcf4\uc640 \uc774 \uc9c0\ub9ac \ub370\uc774\ud130\uc758 dimension \uc815\ubcf4\uac00 user_sdo_geom_metadata \ud14c\uc774\ube14\uc5d0 \ud558\ub098\uc758 \ub808\ucf54\ub4dc\ub85c \ub4e4\uc5b4\uac00 \uc788\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p>User_sdo_geom_metadata\uc5d0\ub294 \uc544\ub798\uc5d0\uc11c \ubcf4\ub4ef\uc774 \ud14c\uc774\ube14 \uc815\ubcf4, \uce7c\ub7fc \uc815\ubcf4, \uadf8\ub9ac\uace0 Dimension \uc815\ubcf4\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4.<\/p>\n<p>\uc77c\ubc18\uc801\uc73c\ub85c vector data\ub294 \uac12\ub4e4\uc758 \uc30d\uc73c\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uace0 \uc774\ucc28\uc6d0 \uc815\ubcf4\ub97c \ub098\ud0c0\ub0b4\ub294 \uacbd\uc6b0\uc5d0\ub294 \ub450 \uac12\uc758 \uc30d\uc73c\ub85c \uad6c\uc131\ub41c\ub2e4.<\/p>\n<p>\uc774 \uac12\ub4e4\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 dimenison \uc815\ubcf4\uc778\ub370 \uc544\ub798\uc758 \uc608\uc81c\uc5d0\uc11c\ub294 \u2018spatial_table\u2019 \uce7c\ub7fc \uc548\uc758 \ubaa8\ub4e0 vector \uc815\ubcf4\uc758<\/p>\n<p>\uccab \ubc88\uc9f8 \uac12\uc740 \u2018longitude\u2019\uc73c\ub85c \uc9c0\uce6d\ub418\uba70 \uc774\ub294 \u2013180 \ubd80\ud130 180\uae4c\uc9c0\uc758 \uac12\uc744 \uac00\uc9c8 \uc218 \uc788\ub2e4\ub294 \uc758\ubbf8\uc774\ub2e4.<\/p>\n<p>\uadf8\ub9ac\uace0 \ub450 \ubc88\uc9f8 \uac12\ub3c4 \u2018latitude\u2019\uc73c\ub85c \uc9c0\uce6d\ub418\uba70 \uac19\uc740 \ubc94\uc704\ub97c \uac00\uc9c4\ub2e4. \uc5ec\uae30\uc5d0 3\uac1c\uc758 dimension\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \uc785\ub825\ud558\uba74<\/p>\n<p>\uc774\ub294 3\ucc28\uc6d0 vector \uc815\ubcf4\ub77c\ub294 \uac83\uc744 \uc758\ubbf8\ud558\ub098 \uc544\uc9c1 Oracle Spatial\uc740 3\ucc28\uc6d0\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">SQL&gt; desc user_sdo_geom_metadata<\/p>\n<p>Name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Null?\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Type<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; \u00a0\u00a0\u00a0&#8212;&#8212;&#8211; \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>TABLE_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NOT NULL \u00a0\u00a0\u00a0VARCHAR2(32)<\/p>\n<p>COLUMN_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NOT NULL \u00a0\u00a0\u00a0VARCHAR2(500)<\/p>\n<p>DIMINFO\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MDSYS.SDO_DIM_ARRAY<\/p>\n<p>SRID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0NUMBER<\/p>\n<p>SQL&gt; insert into user_sdo_geom_metadata values(\u2018spatial_table\u2019, \u2018spatial_data\u2019,<\/p>\n<p>Mdsys.sdo_dim_array(<\/p>\n<p>Mdsys.sdo_dim_element(\u2018longtitude\u2019, -180, 180, 0.005),<\/p>\n<p>Mdsys.sdo_dim_element(\u2018latitude\u2019, -180, 180, 0.005)), 8307) ;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc515890459\"><\/a>\uc0d8\ud50c \ud504\ub85c\uadf8\ub7a8<\/h3>\n<h4><a name=\"_Toc515890460\"><\/a>Using Partitioned Indexes<\/h4>\n<p>\ud604\uc7ac spatial column\uc744 \uae30\uc900\uc73c\ub85c \ud55c partitioning\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uace0 range partitioning\ub9cc\uc744 \uc9c0\uc6d0\ud558\uae30 \ub54c\ubb38\uc5d0 partition \ud14c\uc774\ube14\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uacfc \uac19\ub2e4.<\/p>\n<p>\uc774\ub294 \uc704\uc758 \uc608\uc81c\uc5d0\uc11c \uc124\uba85\ub418\uc5c8\uae30\uc5d0 \uc5ec\uae30\uc5d0\uc11c\ub294 \uc0dd\ub7b5\ud55c\ub2e4. \uc2e4\uc81c\ub85c \uc218\ud589\uc744 \ud574\ubcf4\uae30 \uc704\ud574\uc11c\ub294<\/p>\n<p>script \ud30c\uc77c cr_partbls.sql\uc744 \ucc38\uc870\ud558\uae30 \ubc14\ub780\ub2e4.\u00a0 \uc774 script\ub97c \uc218\ud589\ud558\uba74 partition table\uc774 \uc0dd\uc131\ub418\uace0 sql*loader\ub97c \uc774\uc6a9\ud558\uc5ec \ud14c\uc774\ube14\ub85c data\uac00 populate\ub41c\ub2e4.<\/p>\n<p>\uadf8\ub9ac\uace0 \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud558\uba74 partition\uc758 \uc218\ub9cc\ud07c \ud14c\uc774\ube14\uc774 \uc0dd\uae30\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uc778\ub371\uc2a4 \uc0dd\uc131 scirpt\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<p>\uc544\ub798\uc5d0\uc11c local keyword\uac00 local domain index\ub97c \uc0dd\uc131\ud558\ub77c\uace0 \ud558\ub294 \ud0a4\uc6cc\ub4dc\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">Create index spatial_partestx on spatial_partest(geoloc)<\/p>\n<p>Indextype is mdsys.spatial_index<\/p>\n<p>Parameters(&#8216;sdo_level=6&#8217;)<\/p>\n<p>Local<\/p>\n<p>(partition p parameters(&#8216;sdo_level= 6 tablespace = partest_tbs&#8217;),<\/p>\n<p>partition p1 parameters(&#8216;sdo_level=6 tablespace = isearch&#8217;),<\/p>\n<p>partition p2 parameters(&#8216;sdo_level=6 tablespace = users&#8217;));<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Spatial index\uc758 \uacbd\uc6b0\uc5d0\ub294 spatial index\uc5d0 \ub300\ud55c \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uae30 \uc704\ud574\uc11c \uc778\ub371\uc2a4\uac00 \uc0dd\uc131\ub420 \ub54c\ub9c8\ub2e4 \uc774\ub97c \uc704\ud55c \uc0c8\ub85c\uc6b4 \ud14c\uc774\ube14\uc774 \uc0dd\uc131\ub41c\ub2e4.<\/p>\n<p>Partitioned\ub41c \uacbd\uc6b0\uc5d0\ub294 \uac01 partition\ub9c8\ub2e4 local index\uac00 \uc0dd\uc131\ub418\uc5b4 \uc774\ub97c spatial index\uc758 metadata view\uc778 user_sdo_index_info\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">SQL&gt; column index_name format a20<\/p>\n<p>SQL&gt; column table_name format a15<\/p>\n<p>SQL&gt; column sdo_index_table format a15<\/p>\n<p>SQL&gt; select index_name, table_name, sdo_index_table from user_sdo_index_info;<\/p>\n<p>INDEX_NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0TABLE_NAME\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0SDO_INDEX_TABLE<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8212;&#8212;&#8212;&#8212;&#8212; \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>SPATIAL_PARTESTX\u00a0\u00a0\u00a0\u00a0 SPATIAL_PARTEST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0MDRT_7D58$<\/p>\n<p>SPATIAL_PARTESTX\u00a0\u00a0\u00a0\u00a0 SPATIAL_PARTEST \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MDRT_7D5F$<\/p>\n<p>SPATIAL_PARTESTX\u00a0\u00a0\u00a0\u00a0 SPATIAL_PARTEST \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0MDRT_7D66$<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Spatial Table\uc5d0 query\ud558\ub294 \uacbd\uc6b0\uc5d0 local domain index\uac00 \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ub418\ub294\uc9c0 \ud655\uc778\ud574 \ubcf4\uae30 \uc704\ud574 trace\ub97c \uc218\ud589\ud558\uba74 \ubcc4\ub2e4\ub978 \ucc28\uc774\uc810\uc774 \uc5c6\uc774<\/p>\n<p>domain index\ub97c \uc0ac\uc6a9\ud55c\ub2e4\ub294 \uc815\ubcf4\ub9cc \ub098\uc628\ub2e4. \uadf8\ub9ac\uace0 spatial index\uc758 \uac1c\ubcc4 partition table\ub9cc \uc0ac\uc6a9\ud558\ub294 \uc9c0, \uc548 \ud558\ub294\uc9c0\ub97c \ud655\uc778\ud558\uae30 \uc704\ud558\uc5ec<\/p>\n<p>sql*trace\ub97c \uc218\ud589\ud558\uc5ec\ub3c4 \uc544\ub798\uc640 \uac19\uc774 \uac01\uac01\uc758 global\u00a0 index\uc5d0 \ub300\ud55c \uc815\ubcf4\ub9cc \ub098\ud0c0\ub0a0 \ubfd0 local index\uc5d0 \ub300\ud55c\u00a0 \uc815\ubcf4\ub294 \ub098\ud0c0\ub098\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<p>\uc774\ub294 spatial domain index\uc5d0 \ub300\ud574\uc11c\ub294 sql*trace\uac00 \uc0c1\uc138\ud55c \uc815\ubcf4\ub97c \ub098\ud0c0\ub0b4\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc774\ub2e4. \ud604\uc7ac\ub85c\uc11c\ub294 \uac01\uac01 \uac1c\ubcc4 index table\uc774 \uac1c\ubcc4\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 \uc9c0\ub97c \uc54c \uc218 \uc788\ub294 \uc815\ubcf4\ub294 \uc5c6\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">\u00a0SQL&gt;\u00a0 select count(*) from spatial_partest partition(p) a, spatial_partest partition (p) b,<\/p>\n<p>User_sdo_geom_metadata m<\/p>\n<p>Where sdo_geom.relate(a.geoloc,m.diminfo,&#8217;ANYINTERACT&#8217;, b.geoloc, m.diminfo) = &#8216;TRUE&#8217;<\/p>\n<p>and b.prinx = 3 and m.table_name = &#8216;SPATIAL_PARTEST&#8217; and m.column_name = &#8216;GEOLOC<\/p>\n<p>=&gt;\u00a0 query \uc218\ud589 \ud6c4 execution plan\uc758 \uacb0\uacfc<\/p>\n<p>Rows\u00a0\u00a0\u00a0\u00a0 Execution Plan<\/p>\n<p>&#8212;&#8212;-\u00a0 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>0\u00a0 \u00a0\u00a0\u00a0\u00a0SELECT STATEMENT\u00a0\u00a0 GOAL: CHOOSE<\/p>\n<p>1\u00a0\u00a0 \u00a0\u00a0\u00a0SORT (AGGREGATE)<\/p>\n<p>4\u00a0\u00a0 \u00a0\u00a0\u00a0MERGE JOIN (CARTESIAN)<\/p>\n<p>5\u00a0\u00a0 \u00a0\u00a0\u00a0NESTED LOOPS<\/p>\n<p>2\u00a0\u00a0\u00a0\u00a0\u00a0 NESTED LOOPS<\/p>\n<p>2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TABLE ACCESS (BY INDEX ROWID) OF<\/p>\n<p>&#8216;SDO_GEOM_METADATA_TABLE&#8217;<\/p>\n<p>2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 INDEX (RANGE SCAN) OF &#8216;SDO_GEOM_IDX&#8217; (NON-UNIQUE)<\/p>\n<p>2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TABLE ACCESS (BY GLOBAL INDEX ROWID) OF<\/p>\n<p>&#8216;SPATIAL_PARTEST&#8217; PARTITION: START=1 STOP=1<\/p>\n<p>2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 INDEX (UNIQUE SCAN) OF &#8216;SYS_C003917&#8217; (UNIQUE)<\/p>\n<p>5\u00a0\u00a0\u00a0\u00a0\u00a0 TABLE ACCESS (FULL) OF &#8216;SPATIAL_PARTEST&#8217; PARTITION: START=<\/p>\n<p>1 STOP=1<\/p>\n<p>4\u00a0\u00a0\u00a0\u00a0 BUFFER (SORT)<\/p>\n<p>1\u00a0\u00a0\u00a0\u00a0\u00a0 TABLE ACCESS (FULL) OF &#8216;DUAL&#8217;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><strong>Note :<\/strong> \ud14c\uc774\ube14 \uc0dd\uc131 \ubc0f data population script : cr_partbls.sql<\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/strong>\uc778\ub371\uc2a4 \uc0dd\uc131 script : cr_parindex.sql<\/p>\n<h4><a name=\"_Toc515890461\"><\/a>Function based Index<\/h4>\n<p>Function Based Index\ub97c \uc0dd\uc131\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc0ac\uc6a9\uc790\uc5d0\uac8c \u201cQuery Rewrite\u201d \uad8c\ud55c\uc774 \uc8fc\uc5b4\uc838\uc57c \ud55c\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">\uc0ac\uc6a9\uc790 : mdtest<\/p>\n<p>SQL &gt; conn system\/manager<\/p>\n<p>SQL&gt; grant query rewrite to mdtest;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\uc704\uc758 SQL \ubb38\uc744 \uc218\ud589\ud558\uc5ec \ud658\uacbd\uc744 \uc124\uc815\ud574 \uc900 \ud6c4\uc758 \ud14c\uc2a4\ud2b8 \uc2dc\ub098\ub9ac\uc624\ub294 \ub9e4\uc6b0 \uac04\ub2e8\ud558\ub2e4.<\/p>\n<p>\uba3c\uc800 \ud14c\uc2a4\ud2b8\ub97c \uc704\ud55c \ud14c\uc774\ube14\uc744 \uc0dd\uc131\ud55c\ub2e4. \uc774 \ud14c\uc774\ube14\uc740 \ud2b9\uc815 \uc9c0\uc810\uc758 \uc774\ub984\uacfc \ud568\uaed8 \uace0\ub3c4, \uacbd\ub3c4\ub97c column\uc73c\ub85c \uac00\uc9c0\uace0 \uc788\ub2e4.\u00a0 \uc774 \ud14c\uc774\ube14\uc5d0 \ub300\ud574\uc11c<\/p>\n<p>\uc218\ud589\ud560 \ud568\uc218\ub97c \uc791\uc131\ud558\uace0 user_sdo_geom_metadata\uc5d0 \uc774 \ud14c\uc774\ube14\uc5d0 \ub300\ud55c record\ub97c \uc785\ub825\ud55c\ub2e4.<\/p>\n<p>\uc774 \uacbd\uc6b0\uc5d0\ub294 function-based index\uc774\ubbc0\ub85c function\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 \uce7c\ub7fc \uc774\ub984 \ub300\uc2e0 \uc785\ub825\ub41c\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">create table test_long_lat (<\/p>\n<p>id number primary key,<\/p>\n<p>name varchar2(20),<\/p>\n<p>longtitude number,<\/p>\n<p>latitude number );<\/p>\n<p>&#8212; data population &#8212;<\/p>\n<p>&#8212; \u2026.. &#8212;<\/p>\n<p>&#8211;\u2026.. &#8212;<\/p>\n<p>insert into user_sdo_geom_metadata values(&#8216;TEST_LONG_LAT&#8217;,<\/p>\n<p>&#8216;get_long_lat_pt(longtitude, latitude)&#8217;,<\/p>\n<p>mdsys.sdo_dim_array(<\/p>\n<p>mdsys.sdo_dim_element(&#8216;Longtitude&#8217;, -180, 180, 0.005),<\/p>\n<p>mdsys.sdo_dim_element(&#8216;Latitude&#8217;, -90, 90, 0.005)), 8307);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\uadf8\ub9ac\uace0 \ud568\uc218\ub97c \uc0dd\uc131\ud55c \ud6c4 \uc778\ub371\uc2a4\ub97c \uc0dd\uc131\ud558\uba74 \ub41c\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">create or replace function get_long_lat_pt (<\/p>\n<p>longtitude in number,<\/p>\n<p>latitude\u00a0 in number )<\/p>\n<p>return mdsys.sdo_geometry<\/p>\n<p>deterministic is<\/p>\n<p>begin<\/p>\n<p>return mdsys.sdo_geometry(<\/p>\n<p>2001, 8307, mdsys.sdo_point_type(longTitude, latitude, NULL), NULL, NULL);<\/p>\n<p>end;<\/p>\n<p>\/<\/p>\n<p>create index test_long_lat_idx on test_long_lat(get_long_lat_pt(longtitude, latitude))<\/p>\n<p>indextype is mdsys.spatial_index;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\uc778\ub371\uc2a4\uac00 \uc0dd\uc131\ub418\uba74 \uae30\uc874\uc758 GIS query\uc640 \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c query\ub97c \uc218\ud589\ud560 \uc218 \uc788\ub2e4. \uc774\ub294 attach\ub41c script\ub97c \ucc38\uc870\ud558\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n<p><strong>Note :<\/strong>\ud14c\uc774\ube14 \uc0dd\uc131 \ubc0f data population \ubc0f metadata \uc785\ub825 script : func_tbls.sql<\/p>\n<p>\ud568\uc218 \uc0dd\uc131 \ubc0f \uc778\ub371\uc2a4 \uc0dd\uc131 scirpt : func_index.sql<\/p>\n<p>query script : query1.sql, query2.sql<\/p>\n<h4><a name=\"_Toc515890462\"><\/a>User Aggregate Function<\/h4>\n<p>Oracle 9i Spatial\uc774 \uc81c\uacf5\ud558\ub294 user aggregate function\uc740 \ud06c\uac8c \ub450 \uac00\uc9c0 \ud0c0\uc785\uc73c\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<\/p>\n<p>\ud558\ub098\ub294 input \uc73c\ub85c mdsys.sdo_geometry\ub97c \ubc1b\uc544\ub4e4\uc774\ub294 sdo_aggr_mbr\uacfc \ub2e4\ub978 \ud558\ub098\ub294 input\uc73c\ub85c mdsys.sdoaggrtype\uc744 \ubc1b\uc544 \ub4e4\uc774\ub294 \ub098\uba38\uc9c0 \ud568\uc218\ub4e4\uc774\ub2e4. <a href=\"#_ftn1\" name=\"_ftnref1\">[1]<\/a><\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">CREATE TYPE sdoaggrtype AS OBJECT (<\/p>\n<p>geometry mdsys.sdo_geometry, diminfo mdsys.sdo_dim_array) ;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>sdoaggrtype\uc740 \uc774\uc640 \uac19\uc544\uc11c \ud568\uc218 \ud638\ucd9c\uc2dc \uc774\ub7ec\ud55c \ud0c0\uc785\uc744 \uc0dd\uc131\ud558\uc5ec input\uc73c\ub85c \uc804\ub2ec\ud558\uc5ec\uc57c \ud55c\ub2e4.<\/p>\n<p>sdoaggrtype\uc740\u00a0 \ud568\uc218\uc758 argument\ub85c\ub9cc \uc0ac\uc6a9\ub418\uc5b4\uc57c \ud558\uba70 \ud14c\uc774\ube14\uc758 \uce7c\ub7fc\uc73c\ub85c\ub294 \uc0ac\uc6a9\ub418\uc9c0 \ubabb\ud55c\ub2e4. \ub2e4\uc74c\uc740 \uc774\ub97c \uc0ac\uc6a9\ud558\ub294 sdo_aggr_union \ud568\uc218\uc758 \uc608\uc774\ub2e4.<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">SELECT SDO_AGGR_MBR(MDSYS.SDOAGGRTYPE( c.geoloc,m.diminfo)), c.loc<\/p>\n<p>FROM sd401 c, user_sdo_geom_metadata m<\/p>\n<p>WHERE m.table_name=&#8217;SD401&#8242; AND m.column_name=&#8217;GEOLOC&#8217;<\/p>\n<p>GROUP BY c.loc ;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>mdsys.sdo_geometry\ub97c input\uc73c\ub85c \ubc1b\uc544\ub4e4\uc774\ub294 sdo_aggr_mbr\uc740 \ud6e8\uc52c \uc27d\uac8c \uc0ac\uc6a9\ub420 \uc218 \uc788\ub2e4.<\/p>\n<p>\ub2e8\uc21c\ud788 input\uc73c\ub85c \uc8fc\uae30\ub9cc \ud558\uba74 \ub41c\ub2e4. \ub2e4\uc74c\uc740 \uc774 \ud568\uc218\uc758 \uc0ac\uc6a9\uc608\uc640 return \uacb0\uacfc\uc774\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"501\">SQL&gt; select sdo_aggr_mbr(loc) from spatial_test ;<\/p>\n<p>SDO_AGGR_MBR(LOC)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES_ARRAY)<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>SDO_GEOMETRY(2003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARRAY(10, 10, 20, 20))<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2><a name=\"_Toc515890463\"><\/a>\ud65c\uc6a9\uac00\uc774\ub4dc \ubc0f \uacb0\ub860<\/h2>\n<p>Oracle 9i\uc5d0\uc11c\ub294 \uc880 \ub354 \uc720\uc6a9\ud55c spatial\uc758 \ud568\uc218\ub4e4\uacfc \uae30\ub2a5\ub4e4\uc774 \ucd94\uac00\ub418\uc5c8\ub2e4.<\/p>\n<p>8i \ubcf4\ub2e4\ub294 \uc880\ub354 \ud3b8\ub9ac\ud55c \uae30\ub2a5\ub4e4\uc774 \uc81c\uacf5\ub418\uc5b4 \uc0ac\uc6a9\uc774 \ud3b8\ub9ac\ud574\uc9c0\uace0 \uc880 \ub354 \ud6a8\uacfc\uc801\uc73c\ub85c \uc0ac\uc6a9\ub420 \uc218 \uc788\ub294 \ubc29\ubc95\ub4e4\uc774 \uc81c\uacf5\ub418\uc5b4 \uc84c\ub2e4\uace0 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n<p>\ud2b9\ud788 \uae30\uc874\uc758 \ub370\uc774\ud130\uac00 spatial data\uac00 \uc544\ub2cc \uacbd\uc6b0 \uc774\uc81c\uae4c\uc9c0\ub294 \uc774 \ubaa8\ub4e0 \ub370\uc774\ud130\ub4e4\uc744 \ub2e4 mdsys.sdo-geometry\ub85c \ubcc0\ud658\uc2dc\ud0a4\ub294 \uc791\uc5c5\uc774 \ud544\uc694\ud588\uc73c\ub098<\/p>\n<p>\uc774\uc81c\ub294 function based index\ub97c \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368 converting \uc791\uc5c5\uc774 \ud544\uc694 \uc5c6\uc5b4\uc838\uc11c \uc774\ub7ec\ud55c application\uc774 \uc694\uad6c\ub418\ub294 \uacbd\uc6b0\uc5d0 \ud3b8\ub9ac\ud558\uac8c \uc0ac\uc6a9\ub420 \uc218 \uc788\ub2e4\uace0 \ubcf8\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"#_ftnref1\" name=\"_ftn1\">[1]<\/a> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uac1c\ubcc4 \ud568\uc218\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc704\uc758 overview\uc5d0 \uc788\uc73c\ubbc0\ub85c \uc774\ub97c \ucc38\uc870\ud558\uae30 \ubc14\ub780\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spatial Overview Oracle 9i Spatial\uc5d0\uc11c \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \ud2b9\uc9d5\uc740 Spatial \uc790\uccb4\uc758 enhancement\ub77c\uae30 \ubcf4\ub2e4\ub294 Domain Index \uc790\uccb4\uc758 enhancement\uc5d0 \uae30\uc778\ud55c \ubc14\uac00 \ud06c\ub2e4. Oracle 9i Spatial\uc740 \ub370\uc774\ud130\ub97c \uc5d1\uc138\uc2a4\ud558\uace0 \ub2e4\ub8e8\ub294 \ub370 \uc788\uc5b4\uc11c domain index \ud0c0\uc785\uc778 spatial indextype\uc744 \ud56d\uc0c1 \uc0ac\uc6a9\ud55c\ub2e4\uace0 \ubcfc \uc218 \uc788\ub2e4. \ud06c\uac8c Oracle 9i Spatial\uc5d0 \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \ud2b9\uc9d5\uc73c\ub85c\ub294 \uc0ac\uc6a9\uc790\uac00 aggregate \ud568\uc218\ub97c \uc815\uc758\ud560 \uc218 \uc788\uace0 range-partition \ud14c\uc774\ube14\uc5d0 \uac01 partition\uc5d0 spatial [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2493,"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":[219],"tags":[838,839],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/2018\/01\/1895802.png?fit=308%2C223","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2490"}],"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=2490"}],"version-history":[{"count":1,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions"}],"predecessor-version":[{"id":2492,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions\/2492"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/2493"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}