El valor máximo sugerido para INITRANS es 100 y la configuración más de este tamaño rara vez mejorar el rendimiento. Por lo tanto un ajuste de INITRANS al número promedio de usuarios simultáneos DML y ajuste MAXTRANS a 100 resultado muy probablemente en la mejor utilización de los recursos y el rendimiento. Recuerde, cada ITL requiere aproximadamente 23 bytes en la cabecera del bloque.
INITRANS Relationship with DB_BLOCK_SIZE. (Doc ID 151473.1)
bloque de tamaño de la cabecera = encabezado fijo +
encabezado transacción variable
donde:
encabezado fijo = 113 bytes
encabezado transacción variable = 23 * i donde i es el valor de INITRANS
Suponiendo que el INITRANS = 2 (el valor por defecto para los índices),
la fórmula anterior pueden
reducirse a:
tamaño de cabecera de bloque = 113 + (23 * 2) bytes
= 159 bytes
El espacio reservado para datos de índice, según lo especificado por PCTFREE,
se calcula como un porcentaje del tamaño de bloque menos la cabecera del bloque.
espacio de datos disponible = (bloque de tamaño - Tamaño de bloque de
encabezado) - ((Tamaño de bloque - tamaño del encabezado del bloque) *
(PCTFREE / 100))
Suponiendo un tamaño de bloque de 2048 bytes y PCTFREE de 10:
espacio de datos disponible =
(16384 bytes - 159 bytes) - ((16384 bytes - 159 bytes) * (10/100))
= 16225 bytes - 1622,5 bytes
= 14602,5 bytes
El cálculo de las longitudes de columna combinada de un valor medio del índice es
el mismo que el cálculo de tamaño de la tabla, a excepción sólo es necesario
para calcular la longitudes promedio combinado de columna de las columnas en el
índice. Esta fórmula es que aparece arriba.
Una vez que la longitud de la columna combinada de una entrada promedio del
índice se ha calculado, el tamaño de entrada promedio total se puede calcular,
usando la fórmula:
bytes por entrada = encabezado de la entrada + longitud ROWID + F + V + D
donde:
encabezado de la entrada = 1 byte
Longitud ROWID = 6 bytes
F = longitud bytes totales de todas las columnas con la columna 1 byte
longitudes (CHAR, NÚMERO, FECHA tipos, y ROWID)
V = bytes longitud total de todas las columnas con la columna 3 byte
longitudes (VARCHAR2 y tipos de datos RAW)
D = espacio de datos combinado de todas las columnas (desde arriba)
Aquí, de nuevo se aplica que habría un byte para columnas
con una longitud real entre 1 y 250 A continuación, para longitudes de
251 a 64 K, utilizamos 3 bytes (byte de marcas 0xFE, 2 bytes de longitud real).
Nota 231214.1 describe este aspecto con más precisión.
Por ejemplo, dado que D se calcula que es 22 bytes (de la tabla
cálculos anteriores), y que el índice se compone de tres columnas CHAR, la
tamaño total de entrada promedio del índice es:
bytes por entrada = 1 + 6 + (3 * 1) + (3 * 0) + 22 bytes
= 32 bytes
Para calcular el número de bloques y bytes requeridos para el índice, utilice:
número de bloques
para index = 1.1 * ((número de filas no nulas * promedio. tamaño de entrada) /
((Piso (en vano. Espacio de datos / promedio.
Tamaño de entrada)) *
(Promedio. Tamaño de entrada))
Nota: El 10% adicional añadido a este resultado las cuentas por el espacio extra
necesaria para los bloqueos de rama del índice.
número de bloques
para index = 1.1 * ((10000 * 32 bytes) / ((piso (1700-1732 bytes)) *
(32 bytes))
= 208 bloques
El número de bytes se puede calcular multiplicando el resultado por la base de
datos
tamaño de bloque. Este método de índices es más aproximado que para tablas.
http://oraclesniplets.tumblr.com/page/57
SELECT dbms_rowid.rowid_relative_fno(rowid), DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid),COUNT(*)NUMBER_ROWS_PER_BLOCK
FROM prog_programa_bin
GROUP BY dbms_rowid.rowid_relative_fno(rowid), DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid)
Order by COUNT(*) desc;
select name, blocks "ALLOCATED|BLOCKS", lf_blks "LEAF|BLOCKS", br_blks "BRANCH|BLOCKS", blocks-(lf_blks+br_blks) "UNUSED|BLOCKS" from index_stats;
SELECT NAME, BTREE_SPACE, USED_SPACE, PCT_USED FROM INDEXes_STATS;
select tablespace_name,segment_name,sum(blocks) Bloques, sum(bytes/1024/1024) Espacio_Mb
from dba_extents
where segment_type='INDEX'
and owner='SIGFE_TX'
group by tablespace_name,segment_name;
|
No hay comentarios.:
Publicar un comentario