欢迎投稿

今日深度:

一个ST_Geometry效率的问题,

一个ST_Geometry效率的问题,


今天接到一用户的邮件,说是使用ST_Geometry  SQL 查询  效率很低

刚开始在我机器上运行  竟然给搞蓝屏了,可能是我这几天没有关机的原因吧,不过重启机器运行竟然运行了两分钟

 

根据上面的SQL语句我们可以看到GHH是一个点层,共有12980个点,是将几个多点缓冲300  与点层做相交,得到相交个数

 

参考运行结果

 

可以看到走的全表扫描,我是使用了走索引的操作符(ST_WITHIN)   但是怎么又走全表扫描了,在同事LiuF的帮助下发现一个小细节

t.shape.srid,是不是这个有问题,我们将t.shape.srid换成相应的SRID值

 

差距好大啊,而且走索引了

我们可以看一下

 

原因原来是这样啊,使用t.shape.srid就会全表扫描每一个要素的获得其Srid,这样无疑降低了查询效率

 

可以见一个小小的细节对效率的影响竟然这么巨大

 

 

www.htsjk.Com true http://www.htsjk.com/teradata/35141.html NewsArticle 一个ST_Geometry效率的问题, 今天接到一用户的邮件,说是使用ST_Geometry  SQL 查询  效率很低 select Count(*) from ghh t where sde.st_within(t.shape, sde.st_buffer( sde.st_multipoint('multipoint(490021.7775 303342...
相关文章
    暂无相关文章
评论暂时关闭