Skip site navigation (1) Skip section navigation (2)

Re: Reindexacion de Tablas

From: SYSWARP - Carlos Enrique Perez <carlos(dot)perez(at)syswarp(dot)com(dot)ar>
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-29 20:39:11
Message-ID: 1338323951.1954.105.camel@perezc-desktop (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
... usas Windows?

-- 


Carlos Enrique Perez	
Direccion Syswarp SRL
www.syswarp.com.ar

"Cuando está bien hecho, el software es invisible" 

El mar, 29-05-2012 a las 15:23 -0500, ruben avila galindo escribió:

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

pgsql-es-ayuda by date

Next:From: ruben avila galindoDate: 2012-05-29 20:51:26
Subject: Re: Reindexacion de Tablas
Previous:From: ruben avila galindoDate: 2012-05-29 20:23:33
Subject: Re: Reindexacion de Tablas

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group