注册
DMDPC并发创建索引
技术分享/ 文章详情 /

DMDPC并发创建索引

2023/06/09 2345 6 0

DMDPC 为达梦新一代分布式数据库,可以同时处理OLAP与OLTP业务。此处分享其并发创建索引的方式。

--方法一,默认创建索引不并行 CREATE INDEX IDX_TABLE_COUNT_SPACE ON "MONITOR"."TABLE_COUNT_SPACE"(TABLE_NAME); 执行成功, 执行耗时45529毫秒. 执行号:184555674 影响了0条记录 --方法二,创建索引指定并发 2 CREATE INDEX IDX_TABLE_COUNT_SPACE ON "MONITOR"."TABLE_COUNT_SPACE"(TABLE_NAME) PARALLEL 2; 执行成功, 执行耗时3461毫秒. 执行号:184676372 影响了0条记录 --方法三,创建索引指定并发 16 CREATE INDEX IDX_TABLE_COUNT_SPACE ON "MONITOR"."TABLE_COUNT_SPACE"(TABLE_NAME) PARALLEL 16; 执行成功, 执行耗时117327毫秒. 执行号:184676378 影响了0条记录 --方法四,子表间同时并发创建索引 --先创建无效索引 CREATE INDEX IDX_TABLE_COUNT_SPACE ON "MONITOR"."TABLE_COUNT_SPACE"(TABLE_NAME) UNUSABLE; --并发重建索引 ALTER INDEX MONITOR.IDX_TABLE_COUNT_SPACE rebuild SHARE ASYNCHRONOUS 16; 执行成功, 执行耗时14236毫秒. 执行号:184676387 影响了0条记录
  1. 方法一,为最常用的方法。
  2. 方法二、三,指定PARALLEL,是指查询排序阶段可以并行,数据写入B树阶段还是串行,子表间也是串行,但非分区表也可以收益。
  3. 方法四,指多个子表间并发创建,效果肯定最好,但有一定的限制:
    1. 不可与 NOSORT、ONLINE 关键字同时使用;
    2. 仅支持并行重建无效索引;
    3. 仅支持并行重建二级索引;
    4. 不支持并行重建聚集索引、位图索引、空间索引、数组索引、虚索引以及全局索引;
    5. 仅支持并行重建分区表上的索引;
    6. 不支持并行重建水平分区子表、临时表、系统表、远程表、数组表或者位图表上的索引;
    7. 低性能机器(CPU 核数过少、I/O 性能不足)不适用于指定并行重建索引。

上述方法适用于DMDPC,同样适用于DM8。参数的具体意思,请参考DM8_SQL 手册。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服