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

启明_Oracle 2013-06-25 02:56:04
安装网上的步骤先在元数据表中添加一个元数据,然后再创建空间索引,表中数据有10000条左右,发现创建索引之后没有什么提速?应该是哪里出了问题,急求?
...全文
73 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
启明_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数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢
回复
hh7yx 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
不太明白你说的数据分布是什么意思啊?
回复
hh7yx 2013-06-25
不是有索引就会提速,要看你的数据分布。
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-06-25 02:56
社区公告
暂无公告