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 трябва да се уточни физическото име.
Ако знаете, че стойността в секциите на колоните, е необходимо да се възползват от изображението: