Пакет очистки данных Sybase ASE - дизайн и производительность

Я работаю над утилитой очистки данных Sybase ASE (переход на 15.7), которая будет использоваться несколькими таблицами / базами данных для удаления огромного количества ненужных старых данных.

  1. После получения имени входной таблицы автоматически определите дочерние таблицы и удалите данные. Но я не смог найти предложение иерархического запроса, подобное предложению Oracle "Connect by .. Prior". Есть ли другой способ реализовать это?
  2. Я удаляю данные, проходя через несколько транзакций / коммитов небольшими шагами. Через какое время после удалений я должен выполнить "reorg rebuild"?
  3. Нужно ли обновлять статистику? Если мне нужно, какие критерии я должен рассмотреть перед обновлением статистики?
  4. Некоторые таблицы могут быть разделены. Что-нибудь, что я должен рассмотреть в перспективе раздела?
  5. Некоторые из наших БД (я думаю, индекс..?) Сгруппированы. Я не имею большого представления о кластеризации. Нужно ли рассматривать что-либо в перспективе кластеризации?
  6. Отправить письмо в конце обработки. Похож ли встроенный почтовый пакет на UTIL_SMTP оракула?

1 ответ

Решение

Некоторые из пунктов сейчас не заполнены, и я буду их заполнять по мере возможности.

1 - Проверьте этот пост о репликации этой функции в Sybase ASE.

2 - Мой пост, посвященный стеку dba, охватывает много ключевых моментов, определяющих, когда проводить реорг

3 - Поскольку обновление статистики может быть выполнено быстрее, чем повторная регистрация (которая также обновляет статистику), иногда она используется для повышения производительности между повторными регистрами. Решение о том, когда их запускать, будет зависеть от того, насколько быстро снижается производительность при выполнении чисток. sp_sysmon - это ценный инструмент, который может собирать метрики, помогающие вам принять решение.

4 - Разделенные таблицы не должны действительно влиять на вашу чистку. Это еще один случай, когда это может повысить производительность ваших удалений, поскольку к данным можно получить доступ быстрее, чем в других конфигурациях.

5 - Не совсем. Теоретически, ваше удаление должно выполняться немного быстрее, если ваше удаление использует кластерный индекс. Кластерные индексы используются для поддержания страниц данных в порядке, когда вставляются записи, а не в кучу вставок.

6 - Для систем на базе Windows можно использовать xp_sendmail. Для систем *nix для доступа к sendmail можно использовать xp_cmdshell. Документация по этим расширенным хранимым процедурам находится здесь.

Другие вопросы по тегам