Допустим, у меня есть таблица (с без автоматов c повторное кластеризация ), которая не является специально хорошо кластеризованной:
create or replace table recluster_test3
(
id NUMBER
,value NUMBER
,value_str VARCHAR
)
cluster by (value)
;
alter table recluster_test3 suspend recluster; -- no automatic reclustering
describe table recluster_test3;
insert into recluster_test3 (
select seq4() as id
,uniform(1,20, random()) as value
,randstr(10000,random()) as value_str
FROM TABLE(GENERATOR(ROWCOUNT => 500000))
);
show tables like 'recluster_test%';
информация о кластеризации для этой вновь созданной таблицы :
select system$clustering_information('recluster_test3');
{
"average_depth": 367,
"average_overlaps": 366,
"cluster_by_keys": "LINEAR(VALUE)",
"partition_depth_histogram": {
"00000": 0,
...
"00512": 367
},
"total_constant_partition_count": 0,
"total_partition_count": 367
}
Я могу вручную скопировать таблицу с помощью
create or replace table recluster_test4 clone recluster_test3;
alter table recluster_test4 suspend recluster; -- no automatic reclustering
alter table recluster_test4 recluster; -- recluster manually,
select system$clustering_information('recluster_test4');
{
"cluster_by_keys" : "LINEAR(VALUE)",
"total_partition_count" : 394,
"total_constant_partition_count" : 376,
"average_overlaps" : 1.7778,
"average_depth" : 2.0,
"partition_depth_histogram" : {
"00000" : 0,
"00001" : 376,
"00002" : 18,
"00003" : 0,
...
}
}
Это повторное кластеризация не завершена (возможно получить "00001": 367
). Есть ли способ форсировать более полное повторное объединение?
Несмотря на то, что в этом случае повторное кластеризация было довольно хорошим, в реальном наборе данных со строками 190 ТБ и 400000 М каждый повторный кластер существенно не улучшает глубину кластеризации.
Итак, настоящий вопрос -
- Каковы пределы
alter table xxx recluster
? Я считаю, что существуют жесткие ограничения на количество данных, которые могут быть повторно скопированы за один go, и сколько времени они затрачивают на каждый кластер.
Примечание: автоматическое повторное кластеризация c отключено из-за стоимости проблемы (данные постоянно добавляются в таблицу) и автоматическое повторное кластеризация c потребляла много кредитов снежинки.