Tipo de datos bit

30/09/2004 - 03:13 por Miguel Vázquez | Informe spam
Hola.
Estoy realizando un query, donde ocupo filtrar por una
columna tipo bit, para saber si ya se realizo algun
proceso. El tipo de datos bit no acepta indices, y a esto
me viene la pregunta, ¿Que tan recomendable es hacer un
filtro sobre una columna con este tipo de datos?
¿baja el rendimiento de la consulta?

Saludos!

Preguntas similare

Leer las respuestas

#1 Adrian D. Garcia
30/09/2004 - 05:10 | Informe spam
El echo de que no puedas crear un indice sobre esta columna es por su baja
selectividad. Probabilisticamente si filtras por esta columna obtendras un
50% de las filas de tu tabla. En ese caso SQL Server realizara un table scan
sobre las mismas independientemente de que exista o no el indice.

Ahora, de cuantas filas estamos hablando? si la cantidad de filas es pequeña
no hay porque preocuparse de que el motro realice un table scan sobre la
tabla.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Miguel Vázquez" wrote in message
news:05ea01c4a68a$abc1d0c0$
Hola.
Estoy realizando un query, donde ocupo filtrar por una
columna tipo bit, para saber si ya se realizo algun
proceso. El tipo de datos bit no acepta indices, y a esto
me viene la pregunta, ¿Que tan recomendable es hacer un
filtro sobre una columna con este tipo de datos?
¿baja el rendimiento de la consulta?

Saludos!
#2 Miguel Vázquez
30/09/2004 - 17:28 | Informe spam
Estamos hablando de pocos registros, no mas de 200, pero
debe de hacer varios filtros por campos tipo bit...
Mi pregunta va enfocada a si es mejor tener un tipo bit
para filtros, un tinyint o char, si estos unicamente se
van a usar como falso o verdadero.

Saludos!

Mostrar la cita
columna es por su baja
Mostrar la cita
columna obtendras un
Mostrar la cita
realizara un table scan
Mostrar la cita
indice.
Mostrar la cita
de filas es pequeña
Mostrar la cita
table scan sobre la
Mostrar la cita
wrote in message
Mostrar la cita
#3 Adrian D. Garcia
30/09/2004 - 19:50 | Informe spam
Separemos el tema en 2:
Si tienes solo 200 filas es muy probable que SQL Server genere siempre un
table scan que un acceso por indice ya que le resulta mas barato recorrer
las paginas de la tabla que acceder por los indices.

Ahora, para el caso de que sean muchas filas, lo que haria yo, dependiendo
de una serie de factores que ahora no vienen al caso, es considerar la
incorporacion de una columna del tipo tinyInt (1 Byte) a la clave primaria.
De esa forma para filtrar las filas es muy probable que SQL Server realize
un INDEX SCAN y de ahi saltaria a las filas correspondientes

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Miguel Vázquez" wrote in message
news:0c7401c4a702$1ec18a30$
Estamos hablando de pocos registros, no mas de 200, pero
debe de hacer varios filtros por campos tipo bit...
Mi pregunta va enfocada a si es mejor tener un tipo bit
para filtros, un tinyint o char, si estos unicamente se
van a usar como falso o verdadero.

Saludos!

Mostrar la cita
columna es por su baja
Mostrar la cita
columna obtendras un
Mostrar la cita
realizara un table scan
Mostrar la cita
indice.
Mostrar la cita
de filas es pequeña
Mostrar la cita
table scan sobre la
Mostrar la cita
wrote in message
Mostrar la cita
Ads by Google
Search Busqueda sugerida