Re: Reindexacion de Tablas

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: ruben avila galindo <ruben2218(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Reindexacion de Tablas
Date: 2012-05-28 22:11:37
Message-ID: CAJKUy5jBjwRh8RmOLOmhv6buRMcSREhjUVn=-c7kjdXcVmwVSQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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?

> 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)

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.

--
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 Rodrigo antoñana 2012-05-29 14:13:42 ayuda instalacion postres
Previous Message SYSWARP - Carlos Enrique Perez 2012-05-28 21:00:10 Re: Reindexacion de Tablas