Hola a todos en la lista, en esta ocasioón les escribo para ver si me pudieron 
ayudar a estimar el tamaño de los indices en una base de datos.

Inicialmente cree una tabla de prueba, cuya clave primaria es una secuencia y 
sobre la cual se crea un indice por defecto. Cundo ejecuto la siguiente 
consulta, obtenida del libro "PostgreSQL 9.0 High Performance" para determinar 
el tamaño de los indices:

SELECT
nspname,relname,
round(100 * pg_relation_size(indexrelid) / pg_relation_size(indrelid)) / 100
AS index_ratio,
pg_size_pretty(pg_relation_size(indexrelid)) AS index_size,
pg_size_pretty(pg_relation_size(indrelid)) AS table_size
FROM pg_index I
LEFT JOIN pg_class C ON (C.oid = I.indexrelid)
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE
Chapter 7
[ 173 ]
nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast') AND
C.relkind='i' AND
pg_relation_size(indrelid) > 0;

Obtengo como resultado que el tamaño de la tabla es de 8192 bytes y el indice 
tiene un tamaño de 16 kb, la tabla solo tiene 1 tupla y no comprendo porque 
razon el indice tiene el doble del tamaño de la tabla. Sería de gran ayuda si 
me pudiesen ayudar con este tema.

saludos y muchas gracias por su tiempo.-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a