1 / 12

Псевдосекционирование

Псевдосекционирование. Цель Стандартный подход при использова - нии partitioning view и его недостатки Усовершенствованный подход Псевдосекционирование – «за» и «против». Цель - «с ost- оптимизация». Секционирование требует EE . Секционирование требует Partitioning Option .

Télécharger la présentation

Псевдосекционирование

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Псевдосекционирование Цель Стандартный подход при использова -нии partitioning view и его недостатки Усовершенствованный подход Псевдосекционирование – «за» и «против»

  2. Цель - «сost-оптимизация» • Секционирование требует EE. • Секционирование требует Partitioning Option. • Разница в стоимости покупки и поддержки на • 1 год (http://orashop.ru) на 1 процессор:

  3. Стандартный partitioning view • Отдельные таблицы-секции (например, для каждого месяца) • Констрейнты для каждой таблицы • Индекс для колонки-ключа для каждой таблицы • View, объединяющее таблицы скрипт 1

  4. Недостатки стандартного подхода • Pruning таблиц-секций только при задании литералов в условии запросов • Необходимость построения индекса по полю секционирования при использовании bind-переменных • Лишние индексные чтения из ненужных секций. скрипт2

  5. Усовершенствованный подход • Эффективное чтение данных с исключением ненужных «секций» • Эффективная вставка данных • Эффективное обновление и удаление • Превращение большой таблицы в «секционированную» без использования двойного объема табличного пространства.

  6. Усовершенствованный подход:исключение секций • Идея – andrey_anonymous, sql.ru(http://sql.ru/forum/actualthread.aspx?bid=3&tid=721319&pg=2#8087522) • Добавление колонки view со значением-константой • Особенности планов запросов • Демонстрация эффективности исключения «секций» скрипт3

  7. Усовершенствованный подход: эффективная вставка данных Multitable insert в процедуре вставки: insert first when … then insert into tbl1 when … then insert into tbl2 when … then insert into max_tbl Select i_arg1, i_arg2, … from dual; скрипт4

  8. Усовершенствованный подход: обновление и удаление строк • Добавление колонки с ROWID • Добавление колонки с названием таблицы • Использование instead of trigger • Процедуры обновления и удаления данных с доступом по ROWID • Снижение эффективности при массовой обработке данных (срабатывание строчного триггера). Среды OLTPи DWH. скрипт 5

  9. Эффективный перенос данных при секционировании • Обработка исходной таблицыпо экстентам или диапазонам ROWID • Перенос данных от последнего экстента к первому • Deleteданных из обработанного экстента. Не хватает truncate table TBL extent <N> • Использование shrink для уменьшения HWM исходнойтаблицы скрипт 6

  10. «За»и«Против» • «Секционирование» в SE! • «Секционирование» в EE без расходов на лицензиипо секционированию. • Построение дополнительных и удаление ненужных индексовна отдельных «секциях» • Возможность быстрого исключения и добавления таблиц-секции во view

  11. «За»и«Против» • Необходимость в поддержке псевдо-секционирования в коде • Сложность плана(требуется больше памяти в library cache) • Накладные расходы при обновлении и удалении данных через instead of trigger • Проблемы со сложными запросами • Сложности при использовании хинтов

  12. Выводы • Считайте • Взвешивайте все«за» и «против» • Тестируйте

More Related