为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8_20250718_x86_centos7_66
【操作系统】:centos7
【CPU】:Intel(R) Xeon(R) Gold 6133 CPU
【问题描述】*:数据迁移完成,原Oracle索引只有4395,但是达梦迁移后得索引有10047,这个正常吗
1.DM的索引类型有好几种,对比Oracle来说,应该就是NORMAL类型的索引;
2.DM默认是二叉树表,所以在默认非聚集主键的情况,表本身是一个聚集索引,对于CLUSTER类型的索引可以排除;
3.DM的外键引用通过索引方式来优化性能,所以对于VIRTUAL类型的索引可以排除;
4.如果存在分区表,每一个分区也是一个单独的二叉树,也会多一个CLUSTER类型的索引。
查询语句可以改为:
select OBJECT_TYPE,COUNT(*) from ALL_OBJECTS where owner='PRODUCTION' AND OBJECT_NAME NOT IN
(
SELECT INDEX_NAME FROM ALL_INDEXES WHERE owner='PRODUCTION' AND INDEX_TYPE IN ('VIRTUAL','CLUSTER')
)
GROUP BY OBJECT_TYPE;
SELECT object_type, COUNT(*) AS object_count
FROM user_objects where generated='N'
GROUP BY object_type
ORDER BY object_type;
达梦默认是二叉树的表,有很大一部分是系统的聚集索引,可以排除掉