博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 知识
阅读量:7239 次
发布时间:2019-06-29

本文共 3512 字,大约阅读时间需要 11 分钟。

1.查询索引数量

select table_name, count(*) cnt

from user_indexes where index_type='NORMAL'
group by table_name
having count(*) >= 1
order by cnt desc ;

2.查询外键未建建索引的情况。

select table_name,constraint_name,cname1 || nvl2(cname2, ',' || cname2, null) ||nvl2(cname3, ',' || cname3, null) ||nvl2(cname4, ',' || cname4, null) ||nvl2(cname5, ',' || cname5, null) ||nvl2(cname6, ',' || cname6, null) ||nvl2(cname7, ',' || cname7, null) ||nvl2(cname8, ',' || cname8, null) columnsfrom (select b.table_name,b.constraint_name,max(decode(position, 1, column_name, null)) cname1,max(decode(position, 2, column_name, null)) cname2,max(decode(position, 3, column_name, null)) cname3,max(decode(position, 4, column_name, null)) cname4,max(decode(position, 5, column_name, null)) cname5,max(decode(position, 6, column_name, null)) cname6,max(decode(position, 7, column_name, null)) cname7,max(decode(position, 8, column_name, null)) cname8,count(*) col_cntfrom (select substr(table_name, 1, 30) table_name,substr(constraint_name, 1, 30) constraint_name,substr(column_name, 1, 30) column_name,positionfrom user_cons_columns) a,user_constraints bwhere a.constraint_name = b.constraint_nameand b.constraint_type = 'R'group by b.table_name, b.constraint_name) conswhere col_cnt > ALL(select count(*)from user_ind_columns iwhere i.table_name = cons.table_nameand i.column_name in (cname1, cname2, cname3, cname4, cname5,cname6, cname7, cname8)and i.column_position <= cons.col_cntgroup by i.index_name);

3.查询哪些组合索引组合列超过4个的

select table_name, index_name, count(*)  from user_ind_columns group by table_name, index_namehaving count(*) >= 4 order by count(*) desc;

4.查询大表创建索引

select segment_name, bytes/1024/1024/1024 "GB", blocks, tablespace_name  from user_segments where segment_type = 'TABLE'   and segment_name not in (select table_name from user_indexes)   and bytes / 1024 / 1024 / 1024 >= 2 order by GB desc;

5.查询失效的索引

select t.index_name,       t.table_name,       blevel,       t.num_rows,       t.leaf_blocks,       t.distinct_keys  from user_indexes twhere status = 'UNUSABLE' ;

6.查询分区失效索引

select t1.blevel,       t1.leaf_blocks,       t1.INDEX_NAME,       t2.table_name,       t1.PARTITION_NAME,       t1.STATUS  from user_ind_partitions t1, user_indexes t2where t1.index_name = t2.index_name   and t1.STATUS = 'UNUSABLE';

 7.查询单列索引和组合索引存在交叉的情况。

 单列索引和组合索引使用了相同的字段。

select table_name, trunc(count(distinct(column_name)) / count(*),2) cross_idx_rate  from user_ind_columns group by table_namehaving count(distinct(column_name)) / count(*) < 1order by cross_idx_rate desc;

 8.查询索引高度较高的索引。

select table_name,       index_name,       blevel,       leaf_blocks,       num_rows,       last_analyzed,       degree,       status  from user_indexes  where  blevel>=1;

 9.普通索引(从未收集过统计信息或者是最近10天内未收集过统计信息的表)

select index_name, table_name, last_analyzed, num_rows, temporary, status  from user_indexes where status <> 'N/A'   and (last_analyzed is null or last_analyzed < sysdate - 10);

10.分区索引(从未收集过统计信息或者是最近10天内未收集过统计信息的分区)

select t2.table_name,       t1.INDEX_NAME,       t1.PARTITION_NAME,       t1.last_analyzed,       t1.blevel,       t1.leaf_blocks,                    t1.STATUS  from user_ind_partitions t1, user_indexes t2where t1.index_name = t2.index_name  and (t1.last_analyzed is null or t1.last_analyzed < sysdate - 10);

11.外键约束失效。

SELECT TABLE_NAME,       CONSTRAINT_NAME,       STATUS,       CONSTRAINT_TYPE,       R_CONSTRAINT_NAME  FROM USER_CONSTRAINTS WHERE STATUS='DISABLED';

 

转载于:https://www.cnblogs.com/yg_zhang/p/3830575.html

你可能感兴趣的文章
在香港五星级酒店里‘赏’早餐
查看>>
[转载] New Concept English 1——Lesson 5 Nice to meet you
查看>>
Java笔试面试
查看>>
iOS开发中遇到的一些问题以及解决办法总结
查看>>
Zabbix
查看>>
Unity 3D:控制相机旋转、移动、缩放等功能
查看>>
CALayer的m34 - 三维透视效果
查看>>
hdu 6243,6247
查看>>
C#操作Excel文件
查看>>
uchome在IE6下不居中和发布按钮不显示的解决办法
查看>>
iOS IPv6兼容支持和IPv6审核被拒收集整理
查看>>
Linux Shell 教程
查看>>
【补充习题七】积分不等式及定积分性质
查看>>
任意进制转换简单理解
查看>>
Unity Game窗口中还原Scene窗口摄像机操作 强化版
查看>>
javascript实现九九乘法表
查看>>
Eclipse的WorkingSet使用(转载)
查看>>
缓存系列之五:通过codis3.2实现redis3.2.8集群的管理
查看>>
数据库(二)
查看>>
数组各元素随机赋值、求和、求平均值、求最大值的各类测试(一维数组)
查看>>