sql >> Base de Datos >  >> RDS >> Sqlserver

¿Es más rápido consultar un campo binario (1) o campos de 8 bits?

Los índices en el campo de un solo bit serán básicamente inútiles. Un bit tiene una selectividad terrible, 0 o 1, y es probable que el optimizador lo ignore. 8 índices en campos de 8 bits serán 8 índices ignorados por el optimizador.

Un índice en una columna de bytes es solo un poco más selectivo, con 256 valores distintos. Pero si está buscando patrones de bits individuales, como "el bit 3 está activado", entonces no hay forma de expresar esto como un valor individual para buscar ni como un rango.

La conclusión es que no importa lo que intente, terminará con un escaneo de tabla de todos modos .

Así que explica mejor cuál es tu problema, no tu solución, y tal vez podamos pensar en algo más eficiente.