[Pgsql-ayuda] ayuda con Indices....

Antonio Castro acastro@ciberdroide.com
Sat, 11 Jan 2003 10:20:13 +0100 (CET)


On Thu, 9 Jan 2003 cbustosb@articlynx.cl wrote:

> dos cosas:
> a) debes "vacummear" la base de datos.
> b) si la velocidad es un factor preponderante, intenta cambiar el tipo de=
 datos=20
> numeric(12,0) por otro (si son enteros, podria ser un int8). Hay mucha=20
> documentacion que habla sobre el pobre rendimiento de las operaciones sob=
re ese=20
> tipo de datos.
>=20
> Claudio

Tiene bastante sentido. El tipo numeric tiene precision arbitraria y=20
por esa raz=F3n puede que internamente las comparaciones usen un bucle
para comparar d=EDgito a d=EDgito.  int(8) son 8 bytes y la comparaci=F3n d=
e=20
enteros de 8 bytes a nivel de c=F3digo m=E1quina es muy eficiente.=20
int(8) admite 18 d=EDgitos.

De todas formas yo siempre que tropiezo con alguna operaci=F3n que tarda
mucho m=E1s de lo deseado, compruebo el consumo de memoria y en caso de =20
consumo alto de swap, pruebo a aumentar la swap de forma muy considerable
porque si la operaci=F3n por las razones que sean est=E1 demandando m=E1s m=
emoria
virtual de la disponible la eficiencia desciende espectacularmente. En mi
caso era un join de dos tablas que tardaba unos 20 minutos. Al aumentar
la swap se redujo a unos 5 segundos.

En caso de detectar swaping en el sistema merece la pena hacer una prueba
muy sencilla.

En mi caso me bast=F3 con a=F1adir 500Kbytes de swap montados sobre un fich=
ero
temporal (/tmp/swap).=20

=09dd if=3D/dev/zero of=3D/tmp/swap bs=3D1024 count=3D500000
=09chmod 600 /tmp/swap
=09mkswap /tmp/swap
=09swapon /tmp/swap


Un saludo

Antonio Castro

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--=
+
        /\     /\      Ciberdroide Inform=E1tica (Tienda de Linux)
          \\W//            <<< http://www.ciberdroide.com >>>
=09 _|0 0|_                                                   =20
+-oOOO--(___o___)--OOOo----------------------------------------------------=
+=20
|  . . . . U U . . . . Antonio Castro Snurmacher  acastro@ciberdroide.com  =
| =20
|  . . . . . . . . . .                                                     =
|=20
+()()()----------()()()----------------------------------------------------=
+
| *** 1.700 sitios clasificados por temas sobre Linux en ***Donde_Linux*** =
|
| <<< http://www.ciberdroide.com/misc/donde/dondelinux.html >>>            =
|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--=
+