oracle spatial 空间数据库索引优化问题

启明_Oracle 2013-06-25 02:56:04
安装网上的步骤先在元数据表中添加一个元数据,然后再创建空间索引,表中数据有10000条左右,发现创建索引之后没有什么提速?应该是哪里出了问题,急求?
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
启明_Oracle 2013-06-26
  • 打赏
  • 举报
回复
引用 5 楼 u010412956 的回复:
[quote=引用 3 楼 hxyyxh 的回复:] [quote=引用 1 楼 u010412956 的回复:] 不是有索引就会提速,要看你的数据分布。
不太明白这个数据分布是什么意思?[/quote] select * from t where flag=1; 如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。 先把你的sql语法发出来。[/quote] select * from t a where sdo_geom.relate(a.Shape,'ANYINTERACT',sdo_geometry(3008,null,null,sdo_elem_info_array(1,1007,1,1,1006,6,1,1003,3,16,1003,3,31,1003,3,46,1003,3,61,1003,3,76,1003,3) ,sdo_ordinate_array( 900,4000,2000,2500,4000,2000,2500,4000,-2000,900,4000,-2000,900,4000,2000, 900,0,-2000,2500,0,-2000,2500,0,2000,900,0,2000,900,0,-2000, 2500,0,-2000,2500,4000,-2000,2500,4000,2000,2500,0,2000,2500,0,-2000, 900,0,-2000,900,0,2000,900,4000,2000,900,4000,-2000,900,0,-2000, 900,0,-2000,2500,0,-2000,2500,4000,-2000,900,4000,-2000,900,0,-2000, 900,0,2000,2500,0,2000,2500,4000,2000,900,4000,2000,900,0,2000)),0.5)='TRUE'; 我这里面是图形,a.shape是a表中有个sdo_geometry数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢
引用 5 楼 u010412956 的回复:
[quote=引用 3 楼 hxyyxh 的回复:] [quote=引用 1 楼 u010412956 的回复:] 不是有索引就会提速,要看你的数据分布。
不太明白这个数据分布是什么意思?[/quote] select * from t where flag=1; 如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。 先把你的sql语法发出来。[/quote] select * from t a where sdo_geom.relate(a.Shape,'ANYINTERACT',sdo_geometry(3008,null,null,sdo_elem_info_array(1,1007,1,1,1006,6,1,1003,3,16,1003,3,31,1003,3,46,1003,3,61,1003,3,76,1003,3) ,sdo_ordinate_array( 900,4000,2000,2500,4000,2000,2500,4000,-2000,900,4000,-2000,900,4000,2000, 900,0,-2000,2500,0,-2000,2500,0,2000,900,0,2000,900,0,-2000, 2500,0,-2000,2500,4000,-2000,2500,4000,2000,2500,0,2000,2500,0,-2000, 900,0,-2000,900,0,2000,900,4000,2000,900,4000,-2000,900,0,-2000, 900,0,-2000,2500,0,-2000,2500,4000,-2000,900,4000,-2000,900,0,-2000, 900,0,2000,2500,0,2000,2500,4000,2000,900,4000,2000,900,0,2000)),0.5)='TRUE'; 我这里面是图形,a.shape是a表中有个sdo_geometry数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢
启明_Oracle 2013-06-26
  • 打赏
  • 举报
回复
select * from t where flag=1; 如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。 先把你的sql语法发出来。[/quote] select * from t a where sdo_geom.relate(a.Shape,'ANYINTERACT',sdo_geometry(3008,null,null,sdo_elem_info_array(1,1007,1,1,1006,6,1,1003,3,16,1003,3,31,1003,3,46,1003,3,61,1003,3,76,1003,3) ,sdo_ordinate_array( 900,4000,2000,2500,4000,2000,2500,4000,-2000,900,4000,-2000,900,4000,2000, 900,0,-2000,2500,0,-2000,2500,0,2000,900,0,2000,900,0,-2000, 2500,0,-2000,2500,4000,-2000,2500,4000,2000,2500,0,2000,2500,0,-2000, 900,0,-2000,900,0,2000,900,4000,2000,900,4000,-2000,900,0,-2000, 900,0,-2000,2500,0,-2000,2500,4000,-2000,900,4000,-2000,900,0,-2000, 900,0,2000,2500,0,2000,2500,4000,2000,900,4000,2000,900,0,2000)),0.5)='TRUE'; 我这里面是图形,a.shape是a表中有个sdo_geometry数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢
u010412956 2013-06-25
  • 打赏
  • 举报
回复
引用 3 楼 hxyyxh 的回复:
[quote=引用 1 楼 u010412956 的回复:] 不是有索引就会提速,要看你的数据分布。
不太明白这个数据分布是什么意思?[/quote] select * from t where flag=1; 如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。 先把你的sql语法发出来。
linwaterbin 2013-06-25
  • 打赏
  • 举报
回复
引用 3 楼 hxyyxh 的回复:
[quote=引用 1 楼 u010412956 的回复:] 不是有索引就会提速,要看你的数据分布。
不太明白这个数据分布是什么意思?[/quote] 大概是指你的记录是否skew、是否是胖表、、偶猜的 先收集下表的统计信息
启明_Oracle 2013-06-25
  • 打赏
  • 举报
回复
引用 1 楼 u010412956 的回复:
不是有索引就会提速,要看你的数据分布。
不太明白这个数据分布是什么意思?
启明_Oracle 2013-06-25
  • 打赏
  • 举报
回复
不太明白你说的数据分布是什么意思啊?
u010412956 2013-06-25
  • 打赏
  • 举报
回复
不是有索引就会提速,要看你的数据分布。

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧