最近在开发环境发现在某些功能上面做测试时,速度很慢,经查是索引没有创建。
经过分析发现是因为在之前从正式环境导数据到开发环境时,因为开发环境数据空间不足以承担正式环境的数据量,于是在使用imp导入的时候,针对某些大表做了中断导入的操作。
但此操作直接导致该表的索引没有创建。(补数据库导入导出执行过程)
补救思路:通过查找两个环境的差异,得到缺失的索引,并导出重新执行即可。
Select table_name,index_name,DBMS_METADATA.GET_DDL('INDEX',index_name) from
--获得差集
(Select a.table_name,a.index_name from Dba_Indexes a Where a.owner='PROD'
Minus
Select b.table_name,b.index_name from Dba_Indexes b Where b.owner='DEV') u;
以后处理类似事情的时候要谨慎,完成后要做好检查工作才行,避免出现类似的情况发生。