Campos Bit

10/04/2009 - 01:03 por Heriberto | Informe spam
Lei por ahi que los campos Bit no admiten indices. Pregunto si tampoco son
tomados para las estadisticas y optimizarse en consultas como:

select campos... from Tabla where campoBit=1

O mejor dicho, es conveniente o no para rendimiento tener estos campos para
valores logicos (1 o 0 ) o es conveniente mejor utilizar el tipo TinyInt ?

Grcs
 

Leer las respuestas

#1 Rubén Garrigós
10/04/2009 - 01:53 | Informe spam
Es perfectamente posible crear índices sobre campos de tipo bit. Seguramente
lo que leiste es que un campo de tipo bit, al únicamente poder almacenar
tres valores (0, 1 y NULL), en muchas ocasiones no será de utilidad para el
optimizador por la baja selectividad del predicadode búsqueda. Si la
distribución de tus datos es satisfactoria (por ejemplo un 99.9% de valores
a 0 y un 0.01% a 1) el índice puede ser muy útil para las consultas que
filtren por campo_bit=1. El cambiar a tipo tinyint no te variaría la
distribución con lo que únicamente conseguirías "engordar" el índice sin
más.


Rubén Garrigós
Solid Quality Mentors

"Heriberto" <herib> wrote in message
news:
Lei por ahi que los campos Bit no admiten indices. Pregunto si tampoco
son tomados para las estadisticas y optimizarse en consultas como:

select campos... from Tabla where campoBit=1

O mejor dicho, es conveniente o no para rendimiento tener estos campos
para valores logicos (1 o 0 ) o es conveniente mejor utilizar el tipo
TinyInt ?

Grcs

Preguntas similares