Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как узнать размер таблицы?  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Нужно спрогнозировать сколько займет таблица с данными у заказчика.

На базе для разработки есть аналогичная таблица с данными. Записей много (20000000).
Все записи одинаковые. Т.е. нет таких, в которых часть полей была бы заполнена, а часть нет. Или длина значения в поле отличалась бы от аналогичной у других записей.

Собираю статистику и вижу что:
AVG_ROW_LEN 125
BLOCKS 42102
NUM_ROWS 19991611

Длина блока 8К


Выходит, что на одну запись приходится 17,25 байта!

А как же тогда понимать AVG_ROW_LEN 125?

Кстати, если посмотреть, сколько занимает таблица в табличном пространстве, то выходит что-то вроде 336Мб
28 авг 08, 13:27    [6119679]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
NightGhost
Member

Откуда:
Сообщений: 629
17,5 * 8 * 9/10 = 125

10% - места резервируется
почему надо на 8 умножать, может 125 это битов, тут хз
28 авг 08, 13:33    [6119740]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
Maxifly
Member

Откуда:
Сообщений: 522
1. не понял как из 17 байт получилось 125 путем увеличения на 10 %. Получится должно будет в таком случае 19.

2. Размер блока вовсене ХЗ. Я его знаю. Он 8 Кб.
28 авг 08, 14:05    [6120047]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Maxifly
Нужно спрогнозировать сколько займет таблица с данными у заказчика.

На базе для разработки есть аналогичная таблица с данными. Записей много (20000000).
Все записи одинаковые. Т.е. нет таких, в которых часть полей была бы заполнена, а часть нет. Или длина значения в поле отличалась бы от аналогичной у других записей.
..

vsize попользуйте (имхо, 17 байт получите)
28 авг 08, 14:07    [6120060]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
Maxifly
Member

Откуда:
Сообщений: 522
orawish

vsize попользуйте (имхо, 17 байт получите)


106
28 авг 08, 14:23    [6120190]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
Maxifly
Member

Откуда:
Сообщений: 522
в среднем 108,4
28 авг 08, 14:25    [6120213]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Maxifly
в среднем 108,4

не похоже это на 336Мб.
Мож. таблица в разных спейсах разложена? секции есть?
28 авг 08, 14:28    [6120254]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
или сжата?
28 авг 08, 14:30    [6120269]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Секций нет. Обычная плоская таблица.

Как проверить что она сжата?
28 авг 08, 14:34    [6120307]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Maxifly
Секций нет. Обычная плоская таблица.

Как проверить что она сжата?

select COMPRESSION,a.* from user_tables a;
28 авг 08, 14:37    [6120332]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать размер таблицы?  [new]
Maxifly
Member

Откуда:
Сообщений: 522
Сжата.

Спасибо
28 авг 08, 14:42    [6120376]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить