oracle idcs,Oracle Spatial函数SDO_CS.Transform(value)结果非常慢
尝试使用UNION ALL而不是UNION:
SELECT P.g3e_fid,
T2.X * 1000 AS x_coord,
T2.Y * 1000 AS y_coord,
T.Y AS latitude,
T.X AS longitude
FROM PolePoint P,
TABLE (
SDO_UTIL.GETVERTICES (SDO_CS.TRANSFORM (P.G3E_GEOMETRY, 8265))) T,
TABLE (SDO_UTIL.GETVERTICES (P.G3E_GEOMETRY)) T2
WHERE P.ltt_id = 0
UNION ALL
SELECT P.g3e_fid,
T2.X * 1000 AS x_coord,
T2.Y * 1000 AS y_coord,
T.Y AS latitude,
T.X AS longitude
FROM PoleDetailPoint P,
TABLE (
SDO_UTIL.GETVERTICES (SDO_CS.TRANSFORM (P.G3E_GEOMETRY, 8265))) T,
TABLE (SDO_UTIL.GETVERTICES (P.G3E_GEOMETRY)) T2
WHERE P.ltt_id = 0;
性能下降的另一个潜在来源是你直接在P.G3E_GEOMETRY上使用两个SDO_UTIL.GET_VERTICES调用而另一个在P.G3E_GEOMETRY的变换上你将基本上有两个顶点列表的叉积的事实,所以例如,如果特定的P.G3E_GEOMETRY包含5个顶点,那么对于该5个顶点P.G3E_GEOMETRY,对于T和T2的25种可能组合中的每一种,最终将得到5 * 5条记录.我不知道顶点顺序是否由SDO_CS.TRANSFORM函数维护,但如果是,则可以通过在查询的每一半中添加和t1.id = t2.id谓词来提高性能:
SELECT P.g3e_fid,
T2.X * 1000 AS x_coord,
T2.Y * 1000 AS y_coord,
T.Y AS latitude,
T.X AS longitude
FROM PolePoint P,
TABLE (
SDO_UTIL.GETVERTICES (SDO_CS.TRANSFORM (P.G3E_GEOMETRY, 8265))) T,
TABLE (SDO_UTIL.GETVERTICES (P.G3E_GEOMETRY)) T2
WHERE P.ltt_id = 0
AND T.ID = T2.ID
UNION ALL
SELECT P.g3e_fid,
T2.X * 1000 AS x_coord,
T2.Y * 1000 AS y_coord,
T.Y AS latitude,
T.X AS longitude
FROM PoleDetailPoint P,
TABLE (
SDO_UTIL.GETVERTICES (SDO_CS.TRANSFORM (P.G3E_GEOMETRY, 8265))) T,
TABLE (SDO_UTIL.GETVERTICES (P.G3E_GEOMETRY)) T2
WHERE P.ltt_id = 0
AND T.ID = T2.ID;
oracle idcs,Oracle Spatial函数SDO_CS.Transform(value)结果非常慢相关推荐
- Oracle 数据库数据排名函数:rank() 和dense_rank() 。
Oracle 数据库数据排名函数: rank() 和dense_rank() . --------------------------------------------间断排名(也称强制排名) ...
- Oracle存储过程和自定义函数
概述 Oracle-procedure解读 Oracle存储过程和自定义函数 PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库 ...
- Oracle数据库之单行函数
oracle安装参照: Oracle数据库之安装教程 Oracel数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...
- oracle 求时间差年,Oracle计算时间差常用函数
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒): 天: sql;"> ROUND(TO_NUMBER(END_D ...
- oracle 分析函数、GROUPING函数
分析函数 over(Partition by...) 一个超级牛皮的ORACLE特有函数.天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊!oracle的分析函数o ...
- oracle开窗函数是什么,ORACLE数据库(六)-----开窗函数
ORACLE数据库(六)-----开窗函数 开窗函数又名分析函数.窗口函数.OLAP(数据分析)函数 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据 ...
- oracle 中的trunc()函数及加一个月,一天,一小时,一分钟,一秒钟方法
返回处理后的数据,不同于round()(对数值进行四舍五入处理),该函数不对指定小数前或后的数值部分进行舍入处理. 语法:trunc(number[,decimals]) 其中,number为待做处理 ...
- oracle中存储过程和函数有什么区别,Oracle中存储过程和函数的区别
Oracle中存储过程和函数的区别 存储过程和函数: www.2cto.com 例子: [sql] //创建过程 create or replace procedure add_emailinfo( ...
- Oracle提供的序号函数
Oracle提供的序号函数: 以emp表为例: 1: rownum 最简单的序号 但是在order by之前就确定值. select rownum,t.* from emp t order by en ...
最新文章
- scipy csr_matrix csc_matrix
- python venv 复制_pythonenv的安装及迁移
- centos7下使用yum安装mysql并创建用户,数据库以及设置远程访问
- 05 Diagnostics 诊断
- GridView实现自动编号
- 平均 3000-20000 块不等,有空接外包私活的入群!
- Retina时代的前端视觉优化
- Java h264起始码_h.264 – 使用H264视频的起始码
- cuisineroyale服务器所在位置,cuisine royale进不去怎么办?原因及解决办法分享
- LocalDB 和Compact
- python 安装 setuptools Compression requires the (missing) zlib module 的解决方案
- 【考研数学】视频,你喜欢看哪位老师?
- 驱动人生解锁“C盘瘦身”功能,助力电脑快速运行
- Some file crunching failed, see logs for details解决方案 以及.9patch点9图片的报错的详细修改方法
- 校招----吉比特一面面经
- 初学者必看的JavaScript 七大点!
- windows10专业版安装应用商店方法
- 360全景图制作的原理是什么?有哪些必备的装备?
- 对tensorflow.constant()的理解
- 长安大学微型计算机原理与接口技术答案,长安大学微机原理与接口技术B卷答案...
热门文章
- 使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
- jquery的closest方法和parents方法的区别
- 在一台服务器上搭建多个项目的SVN
- 大量多风格多功能后台管理模板
- 快速下载Spring官网下载dist.zip中所有jar,例如spring-5.2.10.RELEASE-dist.zip
- SublimeText3: ImportError: No module named ‘urllib2′
- Linux的which查找环境变量的文件
- Mysql的concat concat_ws group_concat
- jQuery Vue的CDN
- JS的parseFloat