为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:8 【操作系统】: 【CPU】: 【问题描述】*:普通表和堆表各自的适用场景是什么,如何选择?
下面介绍的索引组织表即为普通表。 DM 默认创建的是索引组织表,Oracle 默认创建的是堆表。 索引组织表和堆表的区别: 索引组织表:有且仅有一个聚簇索引键,表数据按照聚簇索引键排序(数据是有序的,插入有序),rowid 是逻辑 rowid,占用存储空间,所以索引组织表比堆表占用较多空间。 DM 创建表时如果指定了主键,则主键为聚簇索引键(部分版本是这样,由参数PK_WITH_CLUSTER 指定);如果创建表示未指定主键,则 rowid 为聚簇索引键。
堆表:数据是无序的,插入无序,堆表插入效率较高,rowid 是物理 rowid,不占用存储空间。所以堆表比索引组织表节约空间。
适用场景:对聚簇索引键的范围查询,索引组织表更高效。具体选择索引组织表和堆表根据具体的场景压测比较出性能情况决定。
可参考文章:https://www.cnblogs.com/ly-nye/p/16552819.html
下面介绍的索引组织表即为普通表。
DM 默认创建的是索引组织表,Oracle 默认创建的是堆表。
索引组织表和堆表的区别:
索引组织表:有且仅有一个聚簇索引键,表数据按照聚簇索引键排序(数据是有序的,插入有序),rowid 是逻辑 rowid,占用存储空间,所以索引组织表比堆表占用较多空间。
DM 创建表时如果指定了主键,则主键为聚簇索引键(部分版本是这样,由参数PK_WITH_CLUSTER 指定);如果创建表示未指定主键,则 rowid 为聚簇索引键。
堆表:数据是无序的,插入无序,堆表插入效率较高,rowid 是物理 rowid,不占用存储空间。所以堆表比索引组织表节约空间。
适用场景:对聚簇索引键的范围查询,索引组织表更高效。具体选择索引组织表和堆表根据具体的场景压测比较出性能情况决定。
可参考文章:https://www.cnblogs.com/ly-nye/p/16552819.html