在我的桌子上,我成功拆分了一个子分区。之后,我重建索引并收集统计信息。
ALTER TABLE T_MO_DPI SPLIT SUBPARTITION ACTIVE_RELATIONS VALUES (24) INTO (
SUBPARTITION ACTIVE_RELATIONS_2G,
SUBPARTITION ACTIVE_RELATIONS);
exec DBMS_STATS.GATHER_TABLE_STATS(USER, 'T_MO_DPI');
现在,当我检查统计信息时,显然没有分析表,即不存在表统计信息:
SELECT TABLE_NAME, SUBPARTITION_NAME, NUM_ROWS, LAST_ANALYZED
FROM USER_TAB_SUBPARTITIONS
WHERE TABLE_NAME = 'T_MO_DPI';
+---------------------------------------------------------------+
|TABLE_NAME|SUBPARTITION_NAME |NUM_ROWS|LAST_ANALYZED |
+---------------------------------------------------------------+
|T_MO_DPI |ACTIVE_ELEMENTS |9146 |18.10.2018 22:18:51|
|T_MO_DPI |ACTIVE_CELLS |39812 |13.06.2019 22:32:33|
|T_MO_DPI |ACTIVE_RELATIONS_2G | | |
|T_MO_DPI |ACTIVE_RELATIONS | | |
|T_MO_DPI |DELETED_ELEMENTS |1160 |19.11.2018 22:18:14|
|T_MO_DPI |DELETED_CELLS |14102 |10.06.2019 22:17:53|
|T_MO_DPI |DELETED_RELATIONS |14865562|11.03.2019 23:10:10|
+---------------------------------------------------------------+
知道我做错了什么吗?
跑步
exec DBMS_STATS.GATHER_TABLE_STATS(USER, 'T_MO_DPI', 'ACTIVE_RELATIONS_2G');
exec DBMS_STATS.GATHER_TABLE_STATS(USER, 'T_MO_DPI', 'ACTIVE_RELATIONS');
没有帮助。
使用正确的
GRANULARITY
选项。测试1:
测试2: