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!
Respuesta Responder a este mensaje
#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!

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!


.

Respuesta Responder a este mensaje
#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!

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!


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida