|
|
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Появилась задаа по удалению большого числа строк из партицированной таблицы. Хочется услышать советы и рекомендации от бывалых. В ней имеется чуть больше 52 миллионов записей, около половины записей старых надо удалить. Может быть кто подскажет, какие могу быть подводные камни? Вижу так, удаляю это дело небольшими порциями, например по паре миллионов записей с последующим коммитом. Код: plsql 1. 2. 3. 4. 5. Так же есть индекс. Который, видимо, надо будет отребилдить: Код: plsql 1. Где могу проколоться в этом плане? Что планирую не так? Как можно оценить время выполнения данных команд? Есть методы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:25:51 |
|
||
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
JaBong, А че не drop partition? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:27:20 |
|
||
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
JaBong[/src] Так же есть индекс. Который, видимо, надо будет отребилдить: Код: plsql 1. Если индекс локальный, то и ребилдить не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:41:24 |
|
||
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
В таблицу пишется время когда было добавлена запись, собственно, имеем 13 партиций разделённые по времени добавления данных: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. А данные нужно удалить старше двух лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:44:23 |
|
||
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
_S_T_O_N_E_Если индекс локальный, то и ребилдить не надо. Код: plsql 1. говорит, что locality у него "LOCAL" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:48:41 |
|
||
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
Прикольно кто-то секции нарезал Если есть возможность обеспечить технологическое окно -- проще перелить в новую таблицу (CTAS) и лучше, наверное, таки секции порезать по другому. Если будет именно удаляться (DELETE) около половины записей (из всех секций, если правильно понял), то, скорее всего, есть смысл перестроить все индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:54:58 |
|
||
|
Delete old date, partitioned tables, indexes, execution time.
|
|||
|---|---|---|---|
|
#18+
Спасибо за советы, но тех окна не предвидится ближайшее время. А перестроить индексы можно сразу после удаления? или нужно пересобрать статистику? И насколько можно упираться на результат "explain plan for" ? Могут ли индексы не перестроиться при секционировании? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 08:58:58 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39284613&tid=1887738]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 500ms |

| 0 / 0 |
