Re: Reindexacion de Tablas

From: ruben avila galindo <ruben2218(at)gmail(dot)com>
To: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Reindexacion de Tablas
Date: 2012-05-29 20:23:33
Message-ID: CAKavrFq0V0vQ8Sty58x02vXV+p_L8NxGVoSi1i43anFRCEnD4Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 28 de mayo de 2012 17:11, Jaime Casanova <jaime(at)2ndquadrant(dot)com>escribió:

> 2012/5/28 ruben avila galindo <ruben2218(at)gmail(dot)com>:
> > Hola amigos quiciera ver cual es la mejor forma de reindexar todas las
> > tablas de mi base de datos y si Postgresql puede hacerlo automatico o
> manual
> > y en que afectaria en horars de trabajos
> > o si tiene q hacer en horas donde la BD no esta trabajando.
> >
>
> usas el comando REINDEX como te indico Carlos, sin embargo ten en
> cuenta que REINDEX bloquea las tablas que estan siendo procesadas lo
> que se traduce en que no podras trabajar... hazlo en horas en que no
> tengas usuarios, si es un servicio 24x7 tendras que programar un
> mantenimiento o hacerlo de otra forma.
>
> la otra forma: crea un indice nuevo con CREATE INDEX CONCURRENTLY con
> la misma definicion de un indice en mal estado esto no bloquea la
> tabla pero se demora mas, luego de creado el nuevo indice eliminas el
> indice viejo (esto si bloquea la tabla pero lo hace por poco tiempo...
> generalmente)
> obviamente esto tomara mas tiempo de tu parte y probablemente solo
> valga la pena para indices que en realidad estan en mal estado.
>
> no, no ocurre automaticamente porque como te mencione esto bloquea
> tablas y no queremos que postgres bloquee algo sin nuestro permiso,
> verdad?
>
> >
> > Estuve viendo que cuando un Campo es por decir Char(3) Primary Key =
> A001
>
> te das cuenta que A001 no entra en char(3), verdad?
>

si me habia confundido char(3)= A01 me referia cuando era el codigo
era fijo osea q si o si ocupaba los 3 digitos era mas rapido pero
en varchar(3)=A1& llenaba con espacio y el otro A , A01 como son
cambiastes como que el Indice constantemente cambiar por eso que era
mi pregunta si en Postgresql mi base de datos habia momentos que se ponia
lento o por temas de mantenimiento tenia q reindexar las tablas.

>
> > los Indices son mas rapidos , pero cuando es varchar(3)=A1 como que el
> > varchar a veces no se regista todo el espacio y por ende cada rato los
> > indices paran cambiando
>
> esto no es cierto
> char completa con espacios en blanco la cadena por lo que para el
> 'JAIME' y 'JAIME ' son iguales, es decir ignora los espacios al final
> que tu hayas ingresado
> varchar guarda solo lo que tu le pediste que guarde, incluyendo
> espacios iguales por lo que para el 'JAIME' y 'JAIME ' son distintos
> (porque ve que el espacio al final hace la diferencia)
>
> > y por ende mi Base de Datos es lenta en cierta
> > momentos.
> >
>
> ahora, quien te dijo que necesitabas reindexar? que crees que
> solucionaras con eso? (no digo que no soluciones nada, solo quiero que
> confirmes que no estas golpeando al aire a ver si rompes la piñata)
>
> Esto me base en el tema de Desgramentacion de Disco duro ya que
inicialmente estan fragmentados dispersos en cualquier lugar entonces si
hablamos
en terminos de Base de Datos seria que el Indice organiza la informacion
haciendome que agiliza el proceso de la navegación de mis datos.
Era lo que queria sacarme de Duda Jaime mas no lanzar algo si no saber el
porque y la causa y la solucion a mi BD lenta.

si es posible que char sea ligeramente mas lento que varchar pero
> debido a que al almacenar mas caracteres el indice se hace mas grande
> pero si almacenas valores pequeños no creo que notes la diferencia...
> ahora yo prefiero que PK sean valores enteros que es mas rapido.
>
> Yo tambien prefiero Enteros por un tema rapido pero como comprenderas
cuando uno llega a un cliente uno se encuentra con cada cosa del MODELADO
de Base de Datos que no han tomado encuenta la Normalizacion N1,N2.N3 y el
debido tipo de cada para cada cosas eso era mas que nada JAIME.

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message SYSWARP - Carlos Enrique Perez 2012-05-29 20:39:11 Re: Reindexacion de Tablas
Previous Message Alvaro Herrera 2012-05-29 20:10:08 Re: Re: [pgsql-es-ayuda] [pgsql-es-ayuda] Recuperar borrado físico de registro.