2012-01-11 3 views
1

Существует две таблицы. Первая - таблица фактов, около 0,1 миллиарда строк. Другая - таблица измерений, содержащая всего около 100 строк. Я сделал индекс bitmap-join в таблице фактов, чтобы оптимизировать запрос.Сервер oracle висит при вставке строк в таблицу измерений

Однако, когда я вставляю несколько строк в таблицу измерений, база данных висит.

Кто-нибудь знает, в чем причина?

+0

какие средства висит? он мертв, вам нужно перезапустить сервер? Или это очень медленно в течение двух минут? –

+0

очень медленно. Не более двух минут, но около двух часов. – sgzhan

ответ

4

Индекс растрового изображения представляет собой матрицу с столбцом для каждого отдельного значения и строкой для каждой записи в индексированной таблице. Тот же принцип применяется в индексе bitmap join: у вас есть один столбец для каждого отдельного значения в таблице DIMENSION и одна строка в таблице FACT.

Из этого следует, что вставка одной строки в таблицу DIMENSION будет генерировать 100 миллионов записей в индексе. Это займет много времени.

Вы говорите, что вы вставляете «несколько строк». Итак, честно говоря, как вы думаете, было бы разумным временем для создания всех этих записей?

Это компромисс между растровым индексом: он может сэкономить много времени на запросы, но накладные расходы на обслуживание чрезвычайно высоки. Следовательно, перед развертыванием индекса растрового изображения нам нужно тщательно подумать. Иногда можно улучшить эти затраты, но это зависит от конкретных обстоятельств.

Существует еще одна вещь, чтобы иметь в виду с растровыми присоединиться индексы, которые также могут появиться, чтобы заставить сервер повесить:

«Только одна таблица может обновляться одновременно с помощью различных операций при использовании bitmap join index. "

Вы должны прочитать документацию. Find out more.

0

Индексы битовых карт имеют связанное с этим ограничение производительности при загрузке большого количества строк. Чтобы получить эффективность, которую вы ищете, просто пометьте индекс как непригодный для использования, загрузите свои записи, а затем перестройте индекс. Вы должны видеть, что ваши времена загрузки улучшаются с объемом данных, о которых вы говорите.

Смежные вопросы