set heading off
set feedback off
set linesize 200
column c_sql format a200
spool c:\c_index.sql
select 'drop index ' || index_name || ';'
from user_indexes
where table_owner = 'RTMART'
and index_type = 'NORMAL'
and (table_name like 'LOAD%' or table_name like 'TAC%' or
table_name like 'TAG%' or table_name like 'TBU%' or
table_name like 'TCO%' or table_name like 'TCS%' or
table_name like 'TCQ%' or table_name like 'TPL%' or
table_name like 'T_SM%');
select 'create index ' || iname || ' on ' || tname || '(' || cname || ');' c_sql
from (select index_name iname,
table_name tname,
case max(rnumber)
when 1 then
max(decode(rnumber, 1, column_name, ''))
when 2 then
max(decode(rnumber, 1, column_name, '')) || ',' ||
max(decode(rnumber, 2, column_name, ''))
when 3 then
max(decode(rnumber, 1, column_name, '')) || ',' ||
max(decode(rnumber, 2, column_name, '')) || ',' ||
max(decode(rnumber, 3, column_name, ''))
else
max(decode(rnumber, 1, column_name, '')) || ',' ||
max(decode(rnumber, 2, column_name, '')) || ',' ||
max(decode(rnumber, 3, column_name, '')) || ',' ||
max(decode(rnumber, 4, column_name, ''))
end as cname
from (select index_name,
table_name,
column_name,
row_number() over(partition by index_name order by table_name, column_name) rnumber
from (select t.index_name, t.table_name, t.column_name
from user_ind_columns t, user_indexes b
where t.index_name = b.index_name
and t.table_name = b.table_name
and b.index_type = 'NORMAL'
and b.table_owner = 'RTMART'
and (t.table_name like 'LOAD%' or
t.table_name like 'TAC%' or
t.table_name like 'TAG%' or
t.table_name like 'TBU%' or
t.table_name like 'TCO%' or
t.table_name like 'TCS%' or
t.table_name like 'TCQ%' or
t.table_name like 'TPL%' or
t.table_name like 'T_SM%')
order by table_name, index_name, column_name))
group by index_name, table_name);
spool off
set heading on
set feedback on
分享到:
相关推荐
1、索引重建是否有必要,一般看索引是否倾斜的严重,是否浪费了空间, 那应该如何才可以判断索引是否倾斜的严重,是否浪费了空间, 对索引进行结构分析(如下): SQL>Analyze index index_name validate ...
索引操作的完整,特别对于索引的相关验证介绍非常实用,在重建索引时可以提供给使用者完整的操作方法。
导致索引失效: 1、表上频繁发生update,delete操作; 2、表上发生了alter table ..move操作(move操作导致了rowid变化)。
oracle在线创建索引和重组索引。
Oracle索引检查重建与碎片收集[文].pdf
NULL 博文链接:https://hackpro.iteye.com/blog/1845366
如何重建索引如何重建索引如何重建索引如何重建索引如何重建索引
索引重建是一个争论不休被不断热烈讨论的议题。当然Oracle官方也有自己的观点,我们很多DBA也是遵循这一准则来重建索引,那就是Oracle建议对于索引深度超过4级以及已删除的索引条目至少占有现有索引条目总数的20% 这...
多种数据块尺寸的特色能够提高Oracle索引的性能,而且在某些情况下重建索引可以提高查询速度,这是显而易见的。人们期望新的Oracle10g“自动维护任务”AMT允许自动检测并重建潜在的最优化索引结构。本文将为大家介绍...
Oracle学习笔记(索引),有具体的代码案例,创建索引,删除索引,重建索引等等
对于oracle分区表分区索引的详细说明。 详细描述了分区表的类型,分区索引的类型 分类 。 删除或truncate 表分区时,什么样的情况索引会失效 需要重建 ,什么时候 对索引 没影响 。
在一次项目中,发现数据库中索引比较乱,整理的一个索引重构的文档
主要介绍了Oracle重建索引Shell脚本、SQL脚本分享,索引是提高数据库查询性能的有力武器,定期重建索引是很有必要的事情,需要的朋友可以参考下
forOracle的空间索引,如果能把oracle索引示例弄明白,那么对ArcSDE的索引问题应该非常好理解了。 在数据库系统中,索引是非常重要的一个对象,尤其是面对大型数据表时,索引能大大提高数据检索的速度。本节将介绍...
3. 索引本身失效 需要重建索引 下面是一些不会使用到索引的原因 索引失效 1) 没有查询条件,或者查询条件没有建立索引 2) 在查询条件上没有使用引导列 3) 查询的数量是大表的大部分,应该是30%以上。 4) 索引...
主要介绍了oracle分区的失效和重建代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。