暂无图片
Oracle什么时候不应该使用索引聚簇表?
我来答
分享
三阳
2023-02-10
Oracle什么时候不应该使用索引聚簇表?

Oracle什么时候不应该使用索引聚簇表?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新

有四种情况不能使用索引聚簇表。

如果预料到聚簇中的表会有大量修改:索引聚簇会对DML的性能产生一些负面影响,特别是INSERT语句,管理聚簇中的数据需要做更多的工作。由于要非常小心地存储数据,因此存储数据会占用很长时间。

如果需要对聚簇中的表执行全表扫描:不仅只对需要的表中的数据进行全面扫描,同时还不得不对其它多个表中的数据进行全面扫描。由于需要扫描更多的数据,所以全表扫描耗时更久。

如果需要对表进行分区:聚簇中的表不能分区,聚簇也不能分区。

如果需要频繁地TRUNCATE和加载表:聚簇中的表不能截除,因为聚簇在一个块上存储了多个表,所以必须从聚簇中删除行。

暂无图片 评论
暂无图片 有用 4
暂无图片
三笠丶
暂无图片

Oracle的索引聚集表是一种常用的数据结构,但在某些情况下可能会导致性能下降,甚至僵死状态。当一个表里面有大量INSERTs、UPDATEs和 DELETEs时,并且这些操作频繁发生,你可以避免使用索引聚簇表,而应该使用普通的索引表。当你的表要同时处理大量的读取和写入操作时,也就是"读 写混合模式"时,索引聚簇表也是不推荐使用的,你应当使用普通索引表来提高性能和减轻日志负担。

暂无图片 评论
暂无图片 有用 3
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏