Escolher os tipos de dados apropriados

Concluído

O SQL Server oferece uma ampla variedade de tipos de dados a serem escolhidos, e sua escolha pode afetar o desempenho de diversas maneiras. Embora o SQL Server possa converter alguns tipos de dados automaticamente (chamamos isso de "conversão implícita"), a conversão pode ser dispendiosa e também pode afetar negativamente os planos de consulta. A alternativa é uma conversão explícita, em que você usa a função CAST ou CONVERT em seu código para forçar uma conversão de tipo de dados.

Além disso, a escolha de tipos de dados muito maiores do que o necessário pode causar desperdício de espaço e exigir mais páginas do que é preciso ler. É importante escolher os tipos de dados corretos para um determinado conjunto de dados, o que reduzirá o armazenamento total necessário para o banco de dados e aprimorará o desempenho das consultas executadas.

Observação

Em alguns casos, as conversões não são possíveis. Por exemplo, uma data não pode ser convertida em um bit. As conversões podem afetar negativamente o desempenho da consulta, causando verificações de índice em que as buscas seriam possíveis, e sobrecarga adicional de CPU da própria conversão.

A imagem abaixo indica em quais casos o SQL Server pode fazer uma conversão implícita e em quais casos é preciso converter explicitamente os tipos de dados em seu código.

Chart of Type Conversions in SQL Server and Azure SQL

O SQL Server oferece um conjunto de tipos de dados fornecidos pelo sistema para todos os dados que podem ser usados em suas tabelas e consultas. O SQL Server permite a criação de tipos de dados definidos pelo usuário no T-SQL ou no .NET Framework.