安装网上的步骤先在元数据表中添加一个元数据,然后再创建空间索引,表中数据有10000条左右,发现创建索引之后没有什么提速?应该是哪里出了问题,急求?Oracle性能优化索引数据库

解决方案 »

  1.   

    不太明白这个数据分布是什么意思?大概是指你的记录是否skew、是否是胖表、、偶猜的先收集下表的统计信息
      

  2.   

    不太明白这个数据分布是什么意思?select * from t where flag=1;
    如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。先把你的sql语法发出来。
      

  3.   


    select * from t where flag=1;
    如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。先把你的sql语法发出来。
    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数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢
      

  4.   

    不太明白这个数据分布是什么意思?select * from t where flag=1;
    如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。先把你的sql语法发出来。
    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数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢不太明白这个数据分布是什么意思?select * from t where flag=1;
    如果你的t表中有大部分的数据都是flag=1的,即使你在flag字段建立索引,它能走索引吗。先把你的sql语法发出来。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数据类型的字段,里面存储图形,我在这个图形字段上创建的索引,查询与条件图形相交的记录?速度特别慢