一天,同事问,为何执行了索引分析后(ANALYZE INDEX index_name COMPUTE STATISTICS;),查看user_indexes视图中的last_analyze字段时间没有变化。自己试了下,发现普通索引是可以的,但是对于空间索引就不行。

因此空间索引的分析不能采用analyze的方式,必须采用dbms_stats包的过程进行分析才有效果。
user_indexes该视图中的last_analyzed来源于sys.ind$中的analyzetime。
空间索引的分析:采用的空间索引为INDEX_I_EXCH_S_SPATIAL

1)查询索引最近一次分析的时间
select a.index_name,a.last_analyzed from user_indexes a where index_name='INDEX_I_EXCH_S_SPATIAL';
INDEX_NAME                     LAST_ANALYZED
------------------------------ -----------------
INDEX_I_EXCH_S_SPATIAL         2011-8-11 13:10:11

2)执行ANALYZE分析
ANALYZE INDEX index_i_exch_s_spatial COMPUTE STATISTICS;

 3)再次查询最近一次分析时间

select a.index_name,a.last_analyzed from user_indexes a where index_name='INDEX_I_EXCH_S_SPATIAL';
INDEX_NAME                     LAST_ANALYZED
------------------------------ -----------------
INDEX_I_EXCH_S_SPATIAL         2011-8-11 13:10:11

其索引分析时间没有改变,说明 ANALYZE INDEX 语句对空间索引不起作用。

4)执行如下分析后,分析时间发生改变:
BEGIN dbms_stats.gather_index_stats('ltwebgis','INDEX_I_EXCH_S_SPATIAL'); END;
select a.index_name,a.last_analyzed from user_indexes a where index_name='INDEX_I_EXCH_S_SPATIAL';
INDEX_NAME                     LAST_ANALYZED
------------------------------ -----------------
INDEX_I_EXCH_S_SPATIAL         2011-8-11 13:15:33

一般索引的分析:采用的索引为IDX_I_EXCH_S_FID
1)查询索引最近一次分析的时间
select a.index_name,a.last_analyzed from user_indexes a where index_name='IDX_I_EXCH_S_FID';
INDEX_NAME                     LAST_ANALYZED
------------------------------ -----------------
INDEX_I_EXCH_S_SPATIAL         2011-8-11 13:08:55

2)执行ANALYZE分析
ANALYZE INDEX idx_i_exch_s_fid COMPUTE STATISTICS;

 3)再查询最近分析时间

select a.index_name,a.last_analyzed from user_indexes a where index_name='IDX_I_EXCH_S_FID';
INDEX_NAME                     LAST_ANALYZED
------------------------------ -----------------
INDEX_I_EXCH_S_SPATIAL         2011-8-11 13:19:14

其索引分析时间发生变化。

4)执行如下分析后,分析时间也发生改变
BEGIN dbms_stats.gather_index_stats('ltwebgis','IDX_I_EXCH_S_FID'); END;
select a.index_name,a.last_analyzed from user_indexes a where index_name='IDX_I_EXCH_S_FID';
INDEX_NAME                     LAST_ANALYZED
------------------------------ -----------------
INDEX_I_EXCH_S_SPATIAL         2011-8-11 13:19:53

查询最近一次重建的时间
select object_name,last_ddl_time from user_objects where object_type='INDEX' AND object_name='INDEX_I_EXCH_S_SPATIAL';
OBJECT_NAME                LAST_DDL_TIME
-----------------------   ----------------
INDEX_I_EXCH_S_SPATIAL     2011-8-1 16:26:11

对该索引重建后,last_ddl_time时间发生变化
ALTER INDEX INDEX_I_EXCH_S_SPATIAL REBUILD;
select object_name,last_ddl_time from user_objects where object_type='INDEX' AND object_name='INDEX_I_EXCH_S_SPATIAL';
OBJECT_NAME                LAST_DDL_TIME
-----------------------   ----------------
INDEX_I_EXCH_S_SPATIAL     2011-8-11 10:50:45

空间索引不能用analyze进行分析相关推荐

  1. Analyze 菜单分析

    Analyze 菜单分析 目录 概述 需求: 设计思路 实现思路分析 1.Inspact code 2.code clean up 3.silnet cleanup 4. 5.配置当前的视察文件 in ...

  2. analyze怎么优化oracle,[转] Oracle analyze 命令分析

    1.analyze table t1 compute statistics for table;  -->user_tables (只对表的总体信息进行统计,比如行数多少等,不涉及到表字段) 2 ...

  3. oracle hang analyze,hanganalyze 分析数据库挂起

    0 概览 hanganaylze主要步骤: oradebugsetmypid oradebugunlimit --RAC环境 oradebugsetinstall --级别一般指定为3足够了 orad ...

  4. .lastevent、!analyze(dump分析、异常错误码查询)

    .lastevent .lastevent 命令显示最近一次发生的异常或事件. [cpp] view plaincopy 0:000> .lastevent Last event: 1534.f ...

  5. 使用windbg抓取崩溃文件和分析的过程

    在软件编程中,崩溃的场景比较常见的.且说微软技术再牛X,也是会出现崩溃的场景.网上有一段Win98当着比尔盖茨蓝屏的视频非常有意思. (转载请指明出于breaksoftware的csdn博客)     ...

  6. MYSQL 分析表、检查表和优化表

    1. 对表进行优化 ( 优化表主要作用是消除删除或者更新造成的空间浪费) 2. 对表进行分析(分析关键字的分布, 分析并存储MyISAM和BDB表中键的分布) 3. 对表进行检查(检查表的错误,并且为 ...

  7. PostgreSQL源码分析

    PostgreSQL源码结构 PostgreSQL的使用形态 PostgreSQL采用C/S(客户机/服务器)模式结构.应用层通过INET或者Unix Socket利用既定的协议与数据库服务器进行通信 ...

  8. Xcode执行Analyze静态分析

    使用Xcode自带的静态分析工具 Product->Analyze(快捷键command+shift+B)可以找出代码潜在错误,如内存泄露,未使用函数和变量等 所谓静态内存分析, 是指在程序没运 ...

  9. mysql分析表命令_MySql分析整理命令

    Analyze Table 分析表------------------------------------------------------------MySQL 的Optimizer(优化元件)在 ...

最新文章

  1. 20165334 四则运算阶段性总结(第二周)
  2. 成功解决PermissionError: [Errno 13] Permission denied: ‘F:\\File\\data\\123.csv‘
  3. oracle删除一个用户
  4. 双11不过瘾?双十二低至半价继续抢,更有免费学的机会等你抢!
  5. java懒加载设计模式_java设计模式——单例模式
  6. 电脑可以同时装python2和3吗_在同一台电脑上同时安装Python2和Python3-Go语言中文社区...
  7. 阿里云虚拟主机针对恶意频繁攻击式访问造成CPU爆满的解决方法
  8. wireshark不显示rtsp问题(四)
  9. 英特尔核显驱动hd630_英特尔发新处理器,换新 Logo,还把 AMD 吊打了一轮
  10. R语言学习笔记(三)
  11. android开机动画多长时间_ANDROID开机动画分析
  12. mp3文件修复软件 linux,mp3音乐文件损坏修复软件 MP3 Repair Tool
  13. 关于数学计算机手抄报简单的,最简单的数学手抄报图片大全
  14. 年薪100万?纯属忽悠!!但年薪60万真不是个梦
  15. 购票系统c语言座位分配,超实用!买票的时候如何选座?
  16. oracle数据库账号被锁
  17. 敏俊物联MJIOT-AMB-02 RTL8195M 高性能wifi模块
  18. Java训练work3.Exer3---去重与排序
  19. python判断电话号码是否合理_Python正则匹配判断手机号是否合法的方法
  20. android滴滴开源,DoKit - 滴滴开源的一款功能齐全的客户端( iOS 、Android )研发助手...

热门文章

  1. jsonp原生js跨域拿新浪数据插件封装【可扩展】
  2. CentOS6找回root密码 - 黑猴子
  3. TCP系列48—拥塞控制—11、FRTO拥塞撤销
  4. 板邓:wordpress自定义登录页面实现用户登录
  5. 在未启动程序情况 点击视图设计器 弹出未将对象引用窗体的解决方案
  6. SetFormFullScreen()窗体全屏显示
  7. JavaScript 中 obj.hasOwnProperty(prop) 方法
  8. SQL -- 多表查询
  9. sklearn中SVM调参说明
  10. STL-容器库101--array【C11】