Desempenho SQL - Converter parâmetro ou tipo de coluna

1

Fiz essa pergunta em uma entrevista e gostaria de receber alguns comentários ...

Eu tenho um procedimento armazenado que aceita um parâmetro varchar IsActive que é uma string "YES" ou "NO".

O procedimento armazenado consultará uma tabela que tenha uma coluna Ativo com um tipo de dados de bit. Se o parâmetro for "YES", ele retornará todas as linhas com um valor de bit de coluna ativo de 1, caso contrário, para "NO", todas as linhas serão retornadas com um valor de bit de coluna ativo de 0.

É melhor converter o valor do parâmetro de YES / NO para 1/0 ou converter os dados da tabela de 1/0 para YES / NO ao consultar?

A resposta é a mesma se os tipos de dados forem invertidos (1/0 sendo passado, YES / NO armazenado na tabela)?

    
por LeanT 01.10.2012 / 20:31

1 resposta

0

Eu acho que é melhor converter o parâmetro de "YES" / "NO" para 1/0 para evitar armazenar os varchars que consomem mais espaço no banco de dados.

Eu também acho que uma consulta que filtra tipos de bits será mais eficiente na pesquisa do que uma que filtra em varchars.

    
por 01.10.2012 / 20:58