iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >ORACLE索引失效,更新统计信息
  • 812
分享到

ORACLE索引失效,更新统计信息

2024-04-02 19:04:59 812人浏览 安东尼
摘要

有时候建立索引的时候不走索引,排除了字段数据问题和sql写法问题,索引失效的问题之外,还得考虑是统计信息过旧,得重新收集。 查看表的统计信息,看 user_index 的last_analyze(索引)

有时候建立索引的时候不走索引,排除了字段数据问题和sql写法问题,索引失效的问题之外,还得考虑是统计信息过旧,得重新收集。
  查看表的统计信息,看 user_index 的last_analyze(索引),
    看user_tab_col_statistics 的last_analyze(字段)

一:解统计信息

为了稳定执行计划,一般统计信息都会被锁住的,在更新统计信息的时候得先解锁。
①按用户schema解锁:
EXEC DBMS_STATS.UNLOCK_schema_STATS('user_name');

②按表模式解锁:先查出被锁定的表
select table_name from user_tab_statistics where stattype_locked is not null;
然后exec dbms_stats.unlock_table_stats('user_name','表名');

二:收集统计信息方法:

1.分析表

begin

    dbms_stats.gather_table_stats (

    ownname          => 'TEST',

    tabname          => 'STUDENT',

    estimate_percent => dbms_stats.AUTO_SAMPLE_SIZE,

    degree           => 4,

    cascade          => TRUE);

end;

2.分析用户

begin

    dbms_stats.gather_schema_stats(

ownname          => 'TEST',

estimate_percent => dbms_stats.AUTO_SAMPLE_SIZE,

degree           => 4,

cascade          => TRUE);

end;

3.分析索引

begin

    dbms_stats.gather_index_stats(

    ownname          => 'TEST',

    indname          => 'IDX_STUDENT_BIRTH',

    estimate_percent => dbms_stats.AUTO_SAMPLE_SIZE,

    degree           => 4);

end;

还可以用analyze 来分析,例如:

ANALYZE TABLE  (table_name) COMPUTE STATISTICS;  --分析表
ANALYZE TABLE  (table_name) COMPUTE STATISTICS FOR ALL INDEXED COLUMNS;   --分析索引列
ANALYZE TABLE  (table_name) COMPUTE STATISTICS FOR ALL INDEXES FOR ALL COLUMNS;  --分析索引和索引列

三:更新完统计信息后得重新锁住。

CALL DBMS_STATS.LOCK_TABLE_STATS('user_name','table_name');
您可能感兴趣的文档:

--结束END--

本文标题: ORACLE索引失效,更新统计信息

本文链接: https://www.lsjlt.com/news/38318.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解ORACLE表统计信息与列统计信息、索引统计信息
    如何理解ORACLE表统计信息与列统计信息、索引统计信息,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 ...
    99+
    2024-04-02
  • MySQL索引统计信息更新相关的参数有哪些
    这篇文章主要讲解了“MySQL索引统计信息更新相关的参数有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL索引统计信息更新相关的参数有哪些”吧!...
    99+
    2024-04-02
  • oracle如何更新索引
    要更新Oracle数据库中的索引,可以使用以下两种方法:1. 使用ALTER INDEX语句更新索引:```sqlALTER IND...
    99+
    2023-09-13
    oracle
  • MySQL InnoDB存储引擎更新Cardinality统计信息的策略分析
    这篇文章主要讲解了“MySQL InnoDB存储引擎更新Cardinality统计信息的策略分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL I...
    99+
    2024-04-02
  • Oracle 统计信息收集
    Oracle 统计信息收集...
    99+
    2024-04-02
  • ORACLE 收集统计信息
    今天网上看到一篇关于收集统计信息的文章,还不错,特转载下来。...
    99+
    2023-06-06
  • oracle索引失效如何处理
    当Oracle索引失效时,可以采取以下几种处理方法: 重新生成索引:使用ALTER INDEX … REBUILD命令重新构建失...
    99+
    2024-04-09
    oracle
  • oracle设置索引失效如何解决
    当Oracle中的索引失效时,可以尝试以下解决方法:1. 重新构建索引:使用ALTER INDEX语句来重新构建索引。例如,ALTE...
    99+
    2023-08-23
    oracle
  • oracle索引失效的原因有哪些
    有以下几个常见的原因会导致Oracle索引失效: 数据分布不均匀:如果索引列的数据分布不均匀,即某些值出现的频率较高,而其他值出...
    99+
    2024-04-09
    oracle
  • oracle设置索引失效怎么解决
    当Oracle的索引失效时,可能是因为统计信息不准确或者索引损坏等原因导致。解决方法如下: 重新收集索引的统计信息:可以使用DB...
    99+
    2024-04-09
    oracle
  • expdp/impdp导入导出后索引约束统计信息情况
    实验如下: SQL> conn scott/tiger; Connected. SQL> select * from tab; TNAME   &nbs...
    99+
    2024-04-02
  • oracle索引失效怎么快速重建
    要快速重建Oracle索引,可以使用以下几种方法: 使用ALTER INDEX语句重建索引: ALTER INDEX index...
    99+
    2023-10-25
    oracle
  • oracle分区索引失效如何解决
    当Oracle分区索引失效时,可以尝试以下几种解决方法:1. 重新构建分区索引:使用ALTER INDEX语句来重建分区索引,例如:...
    99+
    2023-08-25
    oracle
  • 怎么收集oracle统计信息
    本篇内容主要讲解“怎么收集oracle统计信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么收集oracle统计信息”吧!收集oracle统计信息优化器统计...
    99+
    2024-04-02
  • 怎么理解Oracle统计信息
    这篇文章主要介绍“怎么理解Oracle统计信息”,在日常操作中,相信很多人在怎么理解Oracle统计信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解Oracle统计...
    99+
    2024-04-02
  • oracle怎么查询表中的索引信息
    要查询Oracle数据库中表的索引信息,可以使用以下方法之一:1. 使用 `DESCRIBE` 命令:```sqlDESCRIBE ...
    99+
    2023-08-23
    oracle
  • oracle索引失效的情况有哪几种
    有以下几种情况可能导致Oracle索引失效:1. 索引列上的数据分布不均匀:如果索引列上的数据分布不均匀,即某些值出现的频率非常高,...
    99+
    2023-10-08
    oracle
  • Oracle函数使索引列失效怎么办
    小编给大家分享一下Oracle函数使索引列失效怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、数据版本与原始语句及相关信息版本信息SQL> select * from&...
    99+
    2023-06-22
  • 容易引起oracle索引失效的原因是什么
    今天就跟大家聊聊有关容易引起oracle索引失效的原因是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。容易引起oracle索引失效的原因很多:&...
    99+
    2024-04-02
  • oracle函数索引失效的原因有哪些
    数据分布不均匀:如果函数索引的参数值分布不均匀,可能会导致索引失效。比如,如果函数返回的值只有很少几个离散值,那么索引的选择性会...
    99+
    2024-04-09
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作