RE: Tamaño de Campo UUID

From: Alfredo Guzman Pacherres <aguzman(at)novatronic(dot)com>
To: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Tamaño de Campo UUID
Date: 2018-11-02 21:51:38
Message-ID: A8F916546E41A840B92BF4EA832BB37807D52C6BD416@exchange.novatronic.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimados:

Tengo las siguientes definiciones de índices, es posible optimizarlos:

ON bcamovil.tp_pagina_log USING btree
(bin_process COLLATE pg_catalog."default", bin_adq COLLATE pg_catalog."default", bin_relay COLLATE pg_catalog."default", cod_tran COLLATE pg_catalog."default", cod_pag COLLATE pg_catalog."default")
TABLESPACE bcamovii;

ON bcamovil.tp_pagina_log USING btree
(bin_process COLLATE pg_catalog."default", bin_adq COLLATE pg_catalog."default", bin_relay COLLATE pg_catalog."default", id_sesion COLLATE pg_catalog."default", cod_tipo COLLATE pg_catalog."default")
TABLESPACE bcamovii;

ON bcamovil.tp_pagina_log USING btree
(bin_process COLLATE pg_catalog."default", bin_adq COLLATE pg_catalog."default", bin_relay COLLATE pg_catalog."default", fec_pag COLLATE pg_catalog."default")
TABLESPACE bcamovii;

Me refiero a disminuirlos?

Saludos

Alfredo Guzmán

-----Mensaje original-----
De: Francisco Olarte [mailto:folarte(at)peoplecall(dot)com]
Enviado el: viernes, 27 de abril de 2018 03:21 a.m.
Para: Edwin De La Cruz <edwinspire(at)gmail(dot)com>
CC: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>; Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Asunto: Re: Tamaño de Campo UUID

Edwin:

2018-04-26 21:39 GMT+02:00 Edwin De La Cruz <edwinspire(at)gmail(dot)com>:
....
> Se me hizo que en algún lugar leí que había unos tipos de datos que
> reservaban una cantidad de bits fijo, haya o no datos.

Parcialmente correcto si recuerdo bien. Me parece que Pg usa un BITMAP para marcar que campos son nulos DE LOS QUE PUEDEN SER NULOS.

Para los NOT NULL se ahorra el bit, y reserva el espacio, pero en ese caso no puede "no haber datos". Si son campos de tamaño fijo es posible que reserve un espacio fijo.

Si te defiendes con el Ingles, prueba a leer alrededor de esto:
https://www.postgresql.org/docs/10/static/storage-page-layout.html#HEAPTUPLEHEADERDATA-TABLE

En resumen, para lo que querias incialmente.

Si el campo es NULL - 1 bit de 'is-null' mas lo que ocupe el dato, que sera constante o variable, si esta presente. Como el bit SIEMPRE viene, ahorras espacio con los NULL.

Si el campo es NOT NULL - lo que ocupe, Pg no pone el bit.

Francisco Olarte.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2018-11-02 22:04:51 Re: Tamaño de Campo UUID
Previous Message Guillermo E. Villanueva 2018-11-02 12:40:12 Re: Ayuda con armar saldos