Como recuperar o maior valor entre múltiplas colunas em uma tabela do SQL Server

Olá leitores,
Boa noite!

Neste post vou demonstrar rapidamente como recuperar o maior valor entre múltiplas colunas em uma tabela do SQL Server. Já vi várias soluções para essa necessidade, mas será que você está utilizando a mais performática dentre elas ?

Gerando uma massa de testes

Para facilitar a visualização dos resultados, vamos criar alguns dados de teste:

Dados Originais:
SQL Server - Find MAX value from multiple columns in a SQL Server table

Resultado Esperado:
SQL Server - Find MAX value from multiple columns in a SQL Server table - Expected Result

Solução 1 – Utilizando VALUES

Solução 2 – Utilizando UNPIVOT

Solução 3 – Utilizando UNION

Teste de Performance

Após entendermos as 3 soluções propostas acima, vamos testar a performance para identificar qual é executada com o menor tempo e custo possível. Desta forma, poderemos dizer qual deve ser a melhor solução adotada para essa situação:

Solução 1
SQL Server - Find MAX value from multiple columns in a SQL Server table - Performance 1

Solução 2:
SQL Server - Find MAX value from multiple columns in a SQL Server table - Performance 2

Solução 3:
SQL Server - Find MAX value from multiple columns in a SQL Server table - Performance 3

Resultado final:
SQL Server - Find MAX value from multiple columns in a SQL Server table - Performance

Como podemos observar, a solução 1 além de ser bem pequena, é a mais performática.

Obrigado pela visita!

sql server maior valor múltiplas várias colunas de uma tabela view query Find MAX value from multiple columns in a SQL Server table

sql server maior valor múltiplas várias colunas de uma tabela view query Find MAX value from multiple columns in a SQL Server table

SQL, sql server, sql server 2008, sql server 2008 R2, Oracle, Oracle Database, Oracle 11g, Oracle 10g, Oracle 12c, MySQL, Firebird, Consultoria, Consultor, Programador, Programação. Desenvolvedor, Analista de Sistemas, DBA, Criação de website, Criação de Sistema Web, Vitória, Vila Velha, Guarapari, Espírito Santo, ES, Consultoria SQL em VItória, Treinamento, Curso, Prestação de serviço, prestar serviço, freelancer, freela, banco de dados, consultoria em banco de dados, consultor de banco de dados

Deixe uma resposta