<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Why is Oracle st_geomfromwkb so slow? in Geodatabase Questions</title>
    <link>https://community.esri.com/t5/geodatabase-questions/why-is-oracle-st-geomfromwkb-so-slow/m-p/769831#M859</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;here is a follow up question to &lt;A href="https://community.esri.com/thread/198219" target="_blank"&gt;Using st_geomfromwkb in PL/SQL&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I created a PL/SQL function that translates sdo_geometry to sde.st_geometry:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;create&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;or&lt;/SPAN&gt; replace
&lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt; tostgeom&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sdogeom &lt;SPAN class="operator token"&gt;in&lt;/SPAN&gt; sdo_geometry&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; sde&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ST_GEOMETRY
&amp;nbsp; &lt;SPAN class="operator token"&gt;is&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;BEGIN&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt;&amp;nbsp; SDE&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ST_GEOMETRY_OPERATORS&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;st_geomfromwkb_f&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sdo_geometry&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;get_wkb&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sdogeom&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;25832&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; EXCEPTION 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;WHEN&lt;/SPAN&gt; OTHERS &lt;SPAN class="keyword token"&gt;THEN&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;END&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need this function because some geometries are "broken" and can't be translated to st_geometry. (Testing the sdo_geometry with sdo_util functions reveals no problem)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I call this function in SQL:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;create&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;table&lt;/SPAN&gt; test &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; 
&lt;SPAN class="keyword token"&gt;select&lt;/SPAN&gt; id&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;tostgeom&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GEOMETRIE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; geometrie &lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; my_polygons
&lt;SPAN class="keyword token"&gt;where&lt;/SPAN&gt; rownum&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;8000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The results are as expected, but the execution time ist very slow and gets slower (relatively) the more rows I include via "rownum".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;1000 rows take 1.7 seconds&lt;/P&gt;&lt;P&gt;2000 rows take 3.6 seconds&lt;/P&gt;&lt;P&gt;4000 rows take 7.5 seconds&lt;/P&gt;&lt;P&gt;8000 rows take 17.5 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you can see, the execution "time per row" gets gradually slower for more rows.&lt;/P&gt;&lt;P&gt;If I use it on the full ~2 millon rows, it never finishes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What could be the problem here?&lt;/P&gt;&lt;P&gt;I would expect the time per row to get better instead of worse for bigger datasets, beause of lesser overhead?!?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for any thoughts!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 12 Dec 2021 08:35:24 GMT</pubDate>
    <dc:creator>TOPOGRAPHICS</dc:creator>
    <dc:date>2021-12-12T08:35:24Z</dc:date>
    <item>
      <title>Why is Oracle st_geomfromwkb so slow?</title>
      <link>https://community.esri.com/t5/geodatabase-questions/why-is-oracle-st-geomfromwkb-so-slow/m-p/769831#M859</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;here is a follow up question to &lt;A href="https://community.esri.com/thread/198219" target="_blank"&gt;Using st_geomfromwkb in PL/SQL&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I created a PL/SQL function that translates sdo_geometry to sde.st_geometry:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;create&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;or&lt;/SPAN&gt; replace
&lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt; tostgeom&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sdogeom &lt;SPAN class="operator token"&gt;in&lt;/SPAN&gt; sdo_geometry&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; sde&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ST_GEOMETRY
&amp;nbsp; &lt;SPAN class="operator token"&gt;is&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;BEGIN&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt;&amp;nbsp; SDE&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ST_GEOMETRY_OPERATORS&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;st_geomfromwkb_f&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sdo_geometry&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;get_wkb&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sdogeom&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;25832&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; EXCEPTION 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;WHEN&lt;/SPAN&gt; OTHERS &lt;SPAN class="keyword token"&gt;THEN&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;null&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp; &lt;SPAN class="keyword token"&gt;END&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need this function because some geometries are "broken" and can't be translated to st_geometry. (Testing the sdo_geometry with sdo_util functions reveals no problem)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I call this function in SQL:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;create&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;table&lt;/SPAN&gt; test &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; 
&lt;SPAN class="keyword token"&gt;select&lt;/SPAN&gt; id&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;tostgeom&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;GEOMETRIE&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; geometrie &lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; my_polygons
&lt;SPAN class="keyword token"&gt;where&lt;/SPAN&gt; rownum&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;8000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The results are as expected, but the execution time ist very slow and gets slower (relatively) the more rows I include via "rownum".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;1000 rows take 1.7 seconds&lt;/P&gt;&lt;P&gt;2000 rows take 3.6 seconds&lt;/P&gt;&lt;P&gt;4000 rows take 7.5 seconds&lt;/P&gt;&lt;P&gt;8000 rows take 17.5 seconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you can see, the execution "time per row" gets gradually slower for more rows.&lt;/P&gt;&lt;P&gt;If I use it on the full ~2 millon rows, it never finishes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What could be the problem here?&lt;/P&gt;&lt;P&gt;I would expect the time per row to get better instead of worse for bigger datasets, beause of lesser overhead?!?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for any thoughts!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 08:35:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/why-is-oracle-st-geomfromwkb-so-slow/m-p/769831#M859</guid>
      <dc:creator>TOPOGRAPHICS</dc:creator>
      <dc:date>2021-12-12T08:35:24Z</dc:date>
    </item>
  </channel>
</rss>

