Clarkey Asked: 2012-03-16 09:51:11 +0800 CST2012-03-16 09:51:11 +0800 CST 2012-03-16 09:51:11 +0800 CST 为什么在 Oracle 中删除基于函数的索引需要很长时间? 772 我有一个基于函数的索引,需要 25 分钟才能在 9400 万行的表上创建。 当我删除索引时,需要 18 分钟。 为什么需要这么长时间?我原以为下降几乎是立即的?我注意到大约 10 分钟后,索引从 user_indexes 中删除,但脚本仍会再执行大约 8 分钟。 该表已分区,这是一个 Oracle 10g RAC 安装。如果有更多信息有帮助,我可以根据需要添加。 对此的任何启示将不胜感激。 oracle index 1 个回答 Voted Best Answer Vincent Malgrat 2012-03-17T06:50:33+08:002012-03-17T06:50:33+08:00 基于函数的索引向表中添加一个虚拟列(然后对该列进行索引)。删除索引会删除虚拟列,这会导致清理需要时间(与删除非虚拟列的工作量相同)。
基于函数的索引向表中添加一个虚拟列(然后对该列进行索引)。删除索引会删除虚拟列,这会导致清理需要时间(与删除非虚拟列的工作量相同)。