Usted no puede índice de un campo de bits de SQL Server 2000, como se indica en los libros en pantalla en el momento:
poco
entero de datos de tipo 1, 0, o NULO.
Observaciones
columnas de tipo poco no puede tener índices sobre ellos.
Sí, si solo tiene un puñado de filas, de millones, un índice lo ayudará. Pero si desea hacerlo en este caso, debe hacer que la columna sea tinyint
.
Nota: Enterprise Manager no le permitirá crear un índice en una columna de bits. Si lo desea, todavía puede crear manualmente un índice en una columna de bits:
CREATE INDEX IX_Users_IsActiveUsername ON Users
(
IsActive,
Username
)
Pero SQL Server 2000 en realidad no utilizar un índice de este tipo - ejecutar una consulta en el que el índice sería un candidato perfecto, por ejemplo:
SELECT TOP 1 Username
FROM Users
WHERE IsActive = 0
SQL Server 2000 hará una exploración de tabla, actuando como si el índice no existiera. Si cambia la columna a tinyint SQL Server 2000 , realizará una búsqueda de índice. Además, la siguiente consulta que no está cubierto:
SELECT TOP 1 *
FROM Users
WHERE IsActive = 0
Se llevará a cabo una búsqueda de índice, seguida de una búsqueda de marcador.
SQL Server 2005 tiene un soporte limitado para índices en columnas de bits.Por ejemplo:
SELECT TOP 1 Username
FROM Users
WHERE IsActive = 0
provocará una búsqueda de índice a través del índice de cobertura. Pero el caso no cubierto:
SELECT TOP 1 *
FROM Users
WHERE IsActive = 0
no causará una búsqueda de índice seguida de una búsqueda de marcador, se llevará a cabo un recorrido de tabla (o recorrido de índice agrupado), en lugar de realizar la búsqueda de índice seguida de una búsqueda de marcador .
Verificado por experimentación y observación directa.
En caso de que no lo haya leído, Jason Massie recientemente escribió un artículo que discutió este tema. http://statisticsio.com/Home/tabid/36/articleType/ArticleView/articleId/302/Never-Index-a-BIT.aspx Editar: Ubicación de artículo nuevo - http://sqlserverpedia.com/blog/sql-server -bloggers/never-index-a-bit – Jeff
Por sí solo, no, ya que resulta en muy poca selectividad. Como parte de un índice compuesto. muy posiblemente, pero solo después de otras columnas de igualdad. –
¿Es esta una consulta común? Puede valer la pena al buscar el "puñado" de registros pero no le ayudará mucho en las otras filas.¿Hay otras formas de identificar los datos? –