Прогнозирование роста таблиц Oracle - PullRequest
3 голосов
/ 30 января 2009

Как я могу предсказать будущий размер / рост таблицы Oracle?

Предполагая, что:

Я ищу что-то более активное, чем "измерить сейчас, подождите, снова измерить".

Ответы [ 3 ]

3 голосов
/ 31 января 2009
  1. Оцените средний размер строки на основе ваших типов данных.
  2. Оцените доступное пространство в блоке. Это будет размер блока, минус размер заголовка блока, минус пространство, оставшееся PCTFREE. Например, если размер заголовка вашего блока равен 100 байтам, ваш PCTFREE равен 10, а размер блока составляет 8192 байта, тогда свободное пространство в данном блоке равно (8192 - 100) * 0.9 = 7282.
  3. Оцените, сколько строк поместится в этом пространстве. Если ваш средний размер строки составляет 1 кБ, тогда примерно 7 строк поместятся в блок 8 КБ.
  4. Оцените скорость роста в строках за единицу времени. Например, если вы ожидаете миллион строк в год, ваша таблица будет расти примерно на 1 ГБ в год, учитывая 7 строк на блок 8 КБ.
0 голосов
/ 31 января 2009

Учитывая ваши предположения, «измерить, подождать, измерить снова» совершенно предсказуемо. В 10g + Oracle даже «измерить, подождать, измерить снова» для вас. http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_3165.htm#I1023436

0 голосов
/ 31 января 2009

Я подозреваю, что оценка будет зависеть на 100% от проблемной области. Предлагаемый вами метод выглядит как можно более общей процедурой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...