Oracle оптимизация на разделени таблици, Skahin Алексей

1. Значението на уточняване запаметяването - размера на дял по подразбиране.

Започвайки с Oracle 11, размерът на който и да е дял, предвиден от диска, по подразбиране е 8MB, дори и да не е само по себе си всички данни (до 11 версии на стандартния размер е 65KB).
Затова е важно да се уточни СЪХРАНЕНИЕ ПЪРВОНАЧАЛНА partitsionirovannoy при създаването на масата.

Следователно не е трудно да се изчисли минималния размер на таблица 18 * 100 * = 140 ГБ 8MB.
Какво е прекалено много в първоначалния размер на масата, без да раздели = 2GB.

Този размер има няколко недостатъка:
  • Сложността на прехвърлянето на базата данни (износ / внос) - в основата ще тежи терабайта.
  • Ограничения на размера на таблици: Таблица много, DWH тази таблица трябва да се дублират на няколко пъти (източник на маса - огледало, превръщат маси фактологично обобщение таблицата). Наличното пространство бързо ще приключи.
  • !Увеличаване на времето на четене от дискови дялове чрез сканиране за делба.

Моето решение: да намали размера на дяла.
Аз обикновено използвам това решение:

размер на дял може да се приема с малка разлика (1MB)

Минималният размер на такава маса ще се увеличи в сравнение с равнина леко (1-0,68 / 1) * 100% = 32%

Бих искала да отбележа един недостатък:
Много малка преграда не си струва да правиш - е да се увеличи броят на физическия диск достъп. защото сканиране на раздела ще трябва повече от един курс на лечение, но няколко.

2. Създаване PCTFREE и PCTUSED възможности за намаляване на размера на таблицата
размер на маса може да бъде значително намален, ако зададете тези параметри:
PCTFREE -% единица под резерва на промени. Ако таблицата рядко се обновява (или просто почистени и запълнена отново), този параметър може да се намира в близост до 0.
PCTUSED -% блок за данни, ако размерът на данни надхвърля% в блока, новите данни там няма да се добавят. Ако отново данните се обновява рядко, тогава максималната компресия, този параметър може да се настрои по-близо до 100%.


3. Бързо промени маси чрез PARTITION Сметки.

Често срещан проблем в DWH - частичното обновяване на данните. Да речем, че е необходимо да попълните новите данни през последния месец.
Традиционният начин за вмъкване / * + APPEND * / е доста бавен.
Съществува алтернатива, бягане за части от секундата.

Това изисква допълнителна маса, която ще бъде поставена на следващата част от надстройката.
В таблици трябва да съответства на структурата напълно, включително размерите и последователността на колони.
След това можете да изхвърли тази таблица за целта partitsionirovannuyu екип.

Пример perekidki от partitsionirovannuyu таблицата на междинно съединение маса ГАМА-интервала.

Тази команда данни се обменят между таблици: дял е пълна маса T_TBL_PT данни и таблицата с данни празен дял T_TBL.

По същия начин, можете да направите обмен с subpartitsiyami


4. Разберете името на дяла от произволен филтър
Това може да бъде полезно, например, да се събират статистически данни само на желаната част, като в dbms_stat трябва да се уточни физическото име.
Ако знаете, че стойността в секциите на колоните, е необходимо да се възползват от изображението: