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:fola...@peoplecall.com] 
Enviado el: viernes, 27 de abril de 2018 03:21 a.m.
Para: Edwin De La Cruz <edwinsp...@gmail.com>
CC: Alvaro Herrera <alvhe...@2ndquadrant.com>; Lista Postgres ES 
<pgsql-es-ay...@postgresql.org>
Asunto: Re: Tamaño de Campo UUID

Edwin:

2018-04-26 21:39 GMT+02:00 Edwin De La Cruz <edwinsp...@gmail.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.

Reply via email to