Какова команда для Индексной статистики оптимизации и обновления для Oracle 10 г и 11 г?

Я Загружаюсь большой никакие из строк в таблицу из csv файла данных. Для каждых 10 000 записей я хочу обновить indexs на таблице для оптимизации (статистика обновления). Какое-либо тело говорит мне, какова команда, которую я могу использовать? Также что является SQL Server "UPDATE STATISTICS", эквивалентный в индексной оптимизации средств статистики Обновления Oracle.is или gatehring статистике. Я использую Oracle 10 г и 11 г.Заранее спасибо.

5
задан John Saunders 6 April 2010 в 19:52
поделиться

2 ответа

Оптимизация индекса - сложный вопрос. Вы можете COALESCE индекс, чтобы удалить соседние пустые блоки, и вы можете ПОВТОРИТЬ индекс, чтобы полностью удалить и воссоздать его. На мой взгляд, что вы, возможно, захотите сделать в период загрузки данных, - это сделать индексы НЕИСПОЛЬЗУЕМЫМИ, а затем, когда вы закончите, СОЗДАЙТЕ их ПОВТОРНО.

ALTER INDEX my_table_idx01 DISABLE;

-- run loader process

ALTER INDEX my_table_idx01 REBUILD;

Вам нужно собрать статистику только один раз, когда вы закончите, и это будет сделано с помощью вызова DBMS_STATS, например:

EXEC DBMS_STATS.GATHER_TABLE_STATS ('my_schema', 'my_table');
8
ответ дан 14 December 2019 в 04:34
поделиться

Я бы порекомендовал использовать другой подход. Я бы отбросил индексы, загрузил данные, а затем воссоздал бы индекс. После включения Oracle создаст хороший индекс для данных, которые вы только что загрузили. Здесь выполняются две вещи: записи будут загружаться быстрее, и индекс будет перестроен с правильно сбалансированным деревом. (Примечание: будьте осторожны, если таблица действительно большая, вам может потребоваться объявить временное табличное пространство для ее работы.)

drop index my_index;

-- uber awesome loading process

create index my_index on my_table(my_col1, my_col2);
0
ответ дан 14 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: