加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > Oracle > 正文

Oracle中检查是否需要重构索引的sql

发布时间:2020-05-27 19:17:53 所属栏目:Oracle 来源:互联网
导读:经常需要在Oracle中检查是否需要重构索引,在此写了个示例语句,有此需求的朋友可以参考下,希望对大家有所帮助

<div class="codetitle"><a style="CURSOR: pointer" data="98449" class="copybut" id="copybut98449" onclick="doCopy('code98449')"> 代码如下:<div class="codebody" id="code98449">
SELECT
height,/Height of the B-Tree/
blocks,/ Blocks in the index segment /
name,/index name /
lf_rows,/ number of leaf rows in the index /
lf_blks,/ number of leaf blocks in the index /
del_lf_rows,/ number of deleted leaf rows in the index /
rows_per_key / average number of rows per distinct key /
blk_gets_per_access / consistent mode block reads (gets) /
FROM INDEX_STATS
WHERE NAME='INDEX_NAME';

<div class="codetitle"><a style="CURSOR: pointer" data="90163" class="copybut" id="copybut90163" onclick="doCopy('code90163')"> 代码如下:<div class="codebody" id="code90163">
ANALYZE index INDEX_NAME VALIDATE STRUCTURE
HEIGHT:
This column refers to the height of the B-tree index,and it's usually at the 1,2,or 3 level.
If large inserts push the index height beyond a level of 4,it's time to rebuild,which flattens the B-tree. DEL_LF_ROWS:
This is the number of leaf nodes deleted due to the deletion of rows.
Oracle doesn't rebuild indexes automatically and,consequently,too many deleted leaf rows can lead to an unbalanced B-tree. BLK_GETS_PER_ACCESS:
You can look at the BLK_GETS_PER_ACCESS column to see how much logical I/O it takes to retrieve data from the index. If this row shows a double-digit number,you should probably start rebuilding the index.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读