Методика расчета
Задача: рассчитать оптимальный размер начального экстента таблицы
2. Rowsize = row header (3 * UB1) + sum of column sizes including length bytes
3. Final space = Rowsize * rowcount
Итоговый размер записи будет равен INITIAL SIZE + PCTFREE.
Задача: рассчитать оптимальный размер начального экстента таблицы
create table foo( id number(8), f1 number(10,2), cdate date, cname_c char(15), cname_v varchar2(50), cname_z nvarchar2(255), fclob clob, fblob blob )1. Column size including byte length = column size + (1, if column size < 250, else 3)
number: число байт / 2 + 1 (+1 если отрицательное);4+1+6+1+7+1+15+1+35+1+360+3+360+1+360+1 = 1157;
varchar2, blob, clob: средний размер записи (можно брать число байт * 0.7) + (1, if column size < 250, else 3);
nvarchar2, nclob: средний размер записи (можно брать число байт * 0.7) * 2 + (1, if column size < 250, else 3);
char: размер в байтах + 1;
nchar: размер в байтах * 2 + 1;
date: 8 байт (7 + 1);
2. Rowsize = row header (3 * UB1) + sum of column sizes including length bytes
UB1 : select TYPE_SIZE from V$TYPE_SIZE where TYPE = 'UB1'1157+3=1159;
3. Final space = Rowsize * rowcount
rowcount - предполагаемое количество строк в таблице1161 * 1000 = 1161000B = 1M
Итоговый размер записи будет равен INITIAL SIZE + PCTFREE.
PCTFREE (устанавливается в процентах) используется для резервирования определенного процента пространства в каждом блоке для грядущих операций обновления, которые увеличивают длину значений одного или нескольких столбцов.
Комментариев нет :
Отправить комментарий