sql - 是否使用 TinyInt 或 Bit 在 SQL Server 中会有所不同吗?大小和查询性能

标签 sql sql-server sql-server-2012 database-administration tinyint

我有一个表,它有 124,387,133 行,每行有 59 列,在这 59 列中,有 18 列是 TinyInt 数据类型,所有行值都是 0 或 1。一些 TinyInt 列用于索引,一些不是。

我的问题是,如果我将 tinyint 更改为一点,它会对查询性能和表大小产生影响吗?

最佳答案

如果您不知道,与 TinyInt(1 位对 8 位)相比,bit 使用更少的空间来存储信息。所以你会节省空间改为位,理论上性能应该更好。通常很难注意到这样的性能改进,但是根据您拥有的数据量,它实际上可能会有所作为,我会在备份副本中对其进行测试。

关于sql - 是否使用 TinyInt 或 Bit 在 SQL Server 中会有所不同吗?大小和查询性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46914298/

相关文章:

SQL 组用户,如果他们属于一个或多个组

c# - 超过 800,000 条记录的表上的 Entity Framework

asp.net - Intratnet ASP.NET/SQL2K5 环境的角色安全最佳实践是什么?

sql - Azure 使用 SSIS 将数据从 1 db 复制到另一个 db

deployment - ISDeploymentWizard.exe 的安装程序

sql-server - 无法找到或加载已注册的 .Net Framework 数据提供程序。 (系统.数据)

.net - 针对数据库表实现具有多个可选参数的搜索功能

sql - 具有使用数据库默认值的自定义字段的 Django 模型

sql-server - 使用变量而不是模式 例如 dbo。用于创建表

sql - 帮助数据库规范化的工具或网站