Re: Que es mejor NULL o CERO

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: motum hesa <motums(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Que es mejor NULL o CERO
Date: 2009-06-26 17:23:24
Message-ID: f205bb120906261023n3fbb9c36j7af2a8e04eea6fb1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 26 de junio de 2009 14:00, Alvaro Herrera<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> Emanuel Calvo Franco escribió:
>
>> Realicé unos bench (obviamente fueron hechos on-the-fly :) = propenso a errores.
>
> No entendí el propósito de la prueba :-(
>

Lo que hice fue crear dos columnas, una con valores NULL y la otra sin
valores NULL.
hice un indice para cada columna (en realidad debería haber probado
con más tipos,
al menos con HASH).
Luego realice la busqueda por un determinado valor. Si te fijas, vas a
ver que hubo una
diferencia de tiempo en cuanto a rendimiento (al menos en los Btree).
Inclusive, realice
más búsquedas y en todas hubo una diferencia a favor de las columnas
que no tenían valores
NULL.

>> Tengo entendido que en la mayoría de los motores, los valores NULL
>> afectan los indices.
>
> ¿En qué sentido afectan?  En Postgres los valores NULL también están en
> el índice.  De hecho si no son muchos, el optimizador usará un índice en
> esa columna para buscar los valores que concuerden con una cláusula del
> tipo "siNULL IS NULL"
>

Por eso dije 'en la mayoría de los motores'. Por ejemplo, se que en
Mysql si afectan
los valores NULL en las tablas sobre los indices. Existen
comprobaciones extras que
pueden afectar el rendimiento.

Inclusive en pruebas que estoy realizando ahora, estoy viendo una
diferencia a considerar
entre indices que contienen valores NULL y los que no, en una cantidad
de registros
de ~ 1000000.

Sinceramente me gustaría saber con más detalle el porque de esta
diferencia, aunque
en teoría no debería haberla... o si?

--
Emanuel Calvo Franco
ArPUG [www.arpug.com.ar] / AOSUG Member
www.emanuelcalvofranco.com.ar

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-06-26 17:28:50 Re: Sincronizacion en ambos sentidos
Previous Message Alvaro Herrera 2009-06-26 17:00:26 Re: Que es mejor NULL o CERO