为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:达梦数据库v8 【操作系统】: 【CPU】: 【问题描述】*:1,达梦数据库默认使用聚集索引表,在sql中,如何创建索引组织表。 2,索引组织表与聚集索引表的区别。 3,聚集索引表在存储数据是不是无序的,在执行查询语句是,通过聚集索引把数据按照升序显示。
1和2其实可以是一个问题,聚集索引表可以理解就是索引组织表,达梦默认创建的都是索引组织表,未显示指定时是以phyrowid作为聚集索引键,以该索引键值排序构造的b+树存储。一般索引组织表对比的是堆表。 3、B+树是以索引键值排序构造的,索引组织表的聚集索引键就是他的B+树的索引键,所以默认是以phyrowid有序的,当然可以通过CLUSTER PRIMARY KEY、CLUSTER KEY等语法来显示指定其他聚集索引键,指定后该表聚集索引重构,重新以新指定的聚集索引键排序构造B+树存储,并且涉及的二级索引也会重建(因为二级索引中也包含聚集索引键值)
1和2其实可以是一个问题,聚集索引表可以理解就是索引组织表,达梦默认创建的都是索引组织表,未显示指定时是以phyrowid作为聚集索引键,以该索引键值排序构造的b+树存储。一般索引组织表对比的是堆表。
3、B+树是以索引键值排序构造的,索引组织表的聚集索引键就是他的B+树的索引键,所以默认是以phyrowid有序的,当然可以通过CLUSTER PRIMARY KEY、CLUSTER KEY等语法来显示指定其他聚集索引键,指定后该表聚集索引重构,重新以新指定的聚集索引键排序构造B+树存储,并且涉及的二级索引也会重建(因为二级索引中也包含聚集索引键值)