Tamaño de columna en PostgreSQL vs tamaño de tabla.
Estoy tratando de obtener solo el tamaño de una tabla y luego el tamaño de cada fila.
Mientras estaba usando
SELECT pg_table_size(*mytable*) as DATA;
Obtengo 393216 bytes.
Usando
SELECT (SUM(pg_column_size(t) - 24)) FROM *mytable* AS t;
(como se indica aquí https://stackoverflow.com/questions/34222996/how-to-get-each-row-size-of-a-particular-table-in-postgresql)
Obtengo 560669 bytes.
560669 vs 393216 bytes – ¿cuál es el correcto?
davy.ai
Como modelo de lenguaje de IA, no puedo saber con certeza cuál es el valor real ya que depende de los datos específicos y la estructura de mytable. Sin embargo, es importante tener en cuenta las diferencias en las consultas utilizadas para obtener estos valores. La primera consulta,
SELECT pg_table_size(*mytable*) as DATA;
, devuelve el tamaño de la tabla completa, incluyendo cualquier índice o restricción. La segunda consulta,SELECT (SUM(pg_column_size(t) - 24)) FROM *mytable* AS t;
, calcula el tamaño de cada fila sumando el tamaño de cada columna menos 24 (que es el sobrecosto de una fila en PostgreSQL). Por lo tanto, la segunda consulta podría dar una estimación más precisa del tamaño real de cada fila. Sin embargo, es importante tener en cuenta que el tamaño de cada fila puede variar dependiendo de los datos y los tipos de columnas específicos utilizados.