2015-01-05 2 views
-3

У меня есть большой интернет-стол (13 миллионов строк в день), я хочу переместить вчера строки в другую таблицу и удалять из онлайн-таблицы.Как удалить большое количество строк в онлайн-таблице informix Db

Я опробовал метод:

1 - Выбрать 100000 Ряды По RowId Из верхней части таблицы и вставить в другую таблицу Temp. (Расчетное время: 0,87 с)

2 - вставить выбранные строки на вторую таблицу по таблице темповых таблиц. (Исключенное время: 1m12.59s)

3 - Удалить выбранные строки из первой (онлайн) таблицы по таблице темповых таблиц (исчисленное время: 5m39.38s -> слишком долго помогите мне). informix 12.10

ответ

0

Включите свои запросы с помощью SET EXPLAIN ON и убедитесь, что оптимизатор выполняет медленный шаг так, как вы предполагаете. Если это не так, вам может потребоваться применение директив оптимизатора или настройка стратегии индекса. (Помните, что чем больше индексов, тем больше страниц необходимо изменить.)

Если операции INSERT, а затем DELETE занимают слишком много времени, возможно ли использовать фрагментацию на основе выражений? Это даст вам опцию вчерашнего фрагмента DETACH и привяжет его к автономной таблице.

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