选择适当的数据类型

已完成

SQL Server 提供各种各样的数据类型,你的选择可能会显著影响性能。 虽然 SQL Server 可以自动转换某些数据类型(称为“隐式转换”),但此过程可能成本高昂,并会对查询计划产生负面影响。 替代方法是显式转换,可在其中使用 CAST 代码中的或 CONVERT 函数强制进行数据类型转换。

此外,选择大于需要的数据类型可能会导致浪费的空间,并且需要读取更多的页面。 为数据选择适当的数据类型至关重要,因为这可以减少数据库所需的总存储并提高查询性能。

注释

在某些情况下,根本无法进行转换。 例如,日期不能转换为位。 转换可能会对查询性能产生负面影响,方法是在可能进行查找的位置进行索引扫描,以及转换本身的额外 CPU 开销。

下图指示 SQL Server 可以执行隐式转换,并且在这种情况下,必须在代码中显式转换数据类型。

SQL Server 和 Azure SQL 中的类型转换图表

SQL Server 提供可在表和查询中使用的各种系统提供的数据类型。 此外,SQL Server 允许使用 T-SQL 或 .NET Framework 创建用户定义的数据类型。