Oracle Spatial空间查询条件在where 条件中的执行顺序问题 查看执行计划,看看他具体的执行过程吧我感觉应该是oracle自动对你的语句进行优化,结果优化后还不如不优化呢,呵呵 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里有个逻辑问题,fun_detect_pt_in_line函数是用来条件中,而不是用在结果中,调用次数和查询结果记录数没有必然联系当使用id<4,cbo执行的时候先走id的条件,再走fun_detect_pt_in_line条件,而后者并没有过滤作用,执行次数和结果数才会一样为什么要关心fun_detect_pt_in_line的执行次数呢 你好,我还是刚接触oracle不久。1、fun_detect_pt_in_line的执行次数跟效率有关系吗?不是执行次数越多效率越低么。2、我后来改成分开执行了,就是先利用cursor把所有满足SDO_WITHIN_DISTANCE的记录都找出来,筛选一大部分,然后再利用LOOP循环用条件二fun_detect_pt_in_line来进行第二次筛选,就是不把这两个条件放在一个语句里完成,感觉比原来会快一些。3、cbo我还不太懂,先走id是因为有索引么,我如何让oracle按我的“意愿顺序”执行呢,不让它自动按它的顺序行吗?针对我这种情况,你能给一个好点的建议吗,就是让他执行的快一点。还是说写在一个语句跟分开写没啥关系呢?谢谢! 楼主百度下Oracle Hint,也许有你想要的答案 1. 是否执行次数越多效率越低,是相对的,也许sdo_within_distance更会拉低效率,看cbo怎么认定3. 在cbo下没有办法建议让系统自己来判断,如果参数'distance=100,unit=m'是固定的,可以建个函数索引SDO_WITHIN_DISTANCE(c.shape,v_geopolyline,'distance=100,unit=m') 复制主表记录的同时怎样复制对应的子表记录 求SOL写法并优化之(数据行较多) 表空间管理方面疑问 哪位大蝦 能給我詳細講一講CONNECT BY的用法,還有 CONNECT BY ROWNUM 和 CONNECT BY LEVEL的區別,謝謝 Oracle多客户端问题(急) 请教一个比较复杂的SQL查询语句 sql如何将时间装换为毫秒(用13位数字表示的时间) Domino连接Oracle,无法处理服务名 如何实现数据库的多条件匹配查询? 请教一个问题 PL/SQL显示字段信息不完全 SQL语句查原因
1、fun_detect_pt_in_line的执行次数跟效率有关系吗?不是执行次数越多效率越低么。
2、我后来改成分开执行了,就是先利用cursor把所有满足SDO_WITHIN_DISTANCE的记录都找出来,筛选一大部分,然后再利用LOOP循环用条件二fun_detect_pt_in_line来进行第二次筛选,就是不把这两个条件放在一个语句里完成,感觉比原来会快一些。
3、cbo我还不太懂,先走id是因为有索引么,我如何让oracle按我的“意愿顺序”执行呢,不让它自动按它的顺序行吗?
针对我这种情况,你能给一个好点的建议吗,就是让他执行的快一点。还是说写在一个语句跟分开写没啥关系呢?
谢谢!
3. 在cbo下没有办法建议让系统自己来判断,如果参数'distance=100,unit=m'是固定的,可以建个函数索引SDO_WITHIN_DISTANCE(c.shape,v_geopolyline,'distance=100,unit=m')