Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Mais rápido para consultar um campo binário (1) ou campos de 8 bits?


Índices no campo de bit único serão basicamente inúteis. Um bit tem uma seletividade terrível, 0 ou 1, e provavelmente será desconsiderado pelo otimizador. 8 índices em campos de 8 bits serão 8 índices desconsiderados pelo otimizador.

Um índice em uma coluna de bytes é apenas um pouco mais seletivo, com 256 valores distintos. Mas se você estiver procurando padrões de bits individuais, como 'é o bit 3 ligado', não há como expressar isso como um valor individual a ser buscado nem como um intervalo.

A conclusão é que não importa o que você tente, você terminará com uma verificação de tabela de qualquer forma .

Então explique melhor qual é o seu problema, não a sua solução, e talvez possamos pensar em algo mais eficiente.