RE: Calcular el tamaño de un varchar y de un text!!!

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Calcular el tamaño de un varchar y de un text!!!
Date: 2011-05-22 20:00:04
Message-ID: 294D3D02D5E18D42827B2ECFEADEB6880BE1F2DC81@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Me ha sido de mucha ayuda tu respuesta, ahora, por defecto PostgreSQL crea un índice sobre la clave primaria, asumiendo que mi clave primaria fuese un número entero, entonces cada llave ocuparía un espacio de 4 bytes + 4 bytes por cada índice que se cree??

Saludos.
________________________________________
De: jcasanov(at)systemguards(dot)com(dot)ec [jcasanov(at)systemguards(dot)com(dot)ec] En nombre de Jaime Casanova [jaime(at)2ndquadrant(dot)com]
Enviado el: viernes, 20 de mayo de 2011 21:51
Para: Lazaro Rubén García Martinez
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Calcular el tamaño de un varchar y de un text!!!

2011/5/20 Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>:
> Hola a todos en la lista, en la documentación de PostgreSQl aparece que un char ocupa un 1 byte de espacio.

ah! adonde dice eso?

http://www.postgresql.org/docs/9.0/static/datatype-character.html
(fijate que aclara "not bytes")
"""
SQL defines two primary character types: character varying(n) and
character(n), where n is a positive integer. Both of these types can
store strings up to n characters (not bytes) in length.
"""

de hecho hay una funcion char_length() que te dice el numerode
caracteres y una funcion octet_length() que te dice el numero de bytes

lo que pasa es que ademas hay un tipo de dato llamado "char" (comillas
dobles incluidas) que almacena 1 byte pero ese almacena un solo
caracter y nada mas y no deberia ser usado... solo existe para uso
interno del motor

> El tamaño de un varchar o de un campo de tipo text, estaría determinado por el número de caracteres que conformen la cadena, o
> existe alguna formula para calcular el tamaño de almacenamiento para estos tipos de datos?.

si estas usando utf8 ese es un encoding multibyte asi que puedes estar
usando entre 1 a 4 bytes por caracter (asi que no es tan facil como
decir 1 caracter = 1 byte) y a eso debes sumarle la cabecera que es de
4 bytes me parece

> Me sería de muchísima ayuda me ayudasen con esto, pues necesito calcular la tasa de crecimiento de mi base de datos.
>
> Adicionalmente, al total de espacio que ocupen los campos almacenados en una tupla, existe algún valor adicional que deba agregarse a este cálculo.
>

alrededor de 24 bytes por tupla

--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lazaro Rubén García Martinez 2011-05-22 22:30:03 Tamaño de indices???
Previous Message Lazaro Rubén García Martinez 2011-05-22 19:11:58 RE: Pregunta basica de Relaciones y Claves Foraneas