为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:linux
【CPU】:intel x86
【问题描述】*:
如果全库迁入达梦后,需要收集统计信息。且数据量较大,针对部分大表去并行收集。
有个疑问,达梦这里也是3类对象的统计信息:表、索引、列。在满足执行优化器生成正确的执行计划,以及提高收集效率的情况下,应该收集哪些对象呢?
是只收集列的统计信息就行了,还是也需要去收集索引和表的?如果用下面这种方式:
--收集列
stat 100 on sch1.t13(a);
--收集表
stat on sch1.t13;
--收集索引
stat 100 on index sch1.indt13;
尤其是在索引对象和列对象上,收集索引对象后,索引包含的列的统计信息,还需不需要再收集了?
迁移完可以直接使用语句来对某一模式下的所有对象收集统计信息,如收集TEST模式下所有对象统计信息
CALL DBMS_STATS.GATHER_SCHEMA_STATS('TEST',100,TRUE,'FOR ALL COLUMNS SIZE AUTO',并行数);
具体语法可以参考《DM8系统包使用手册》