Ber*_*ers 3 sql sql-server performance null
最近我正在查看我们拥有的 SQL 表并注意到以下内容。
[FooColumn] CHAR (1) DEFAULT ('N') NOT NULL,
Run Code Online (Sandbox Code Playgroud)
在上面你可以看到 FooColumn 将始终默认为 'N' 但仍然指定了“NOT NULL”。
将列设置为“NOT NULL”而不是“NULL”是否会存在一些存储/性能差异?
SQL Server 如何处理“NOT NULL:与“NULL”列不同?
注意:这仅适用于 SQL,而不是外部执行 NULL 检查的开销
只有在有原因时才应该使用 NOT NULL(即 UI 或后端关系的必填字段)。NOT NULL 与 NULL 的性能可以忽略不计,根据2016 年的这篇文章 (SQL SERVER),在决定 NOT NULL 与 NULL 时不应考虑性能。
即使该字段将默认为“N”,如果允许空值,命令仍然可以将其设置为 NULL。归结为 NULL 是该列的有效数据。
编辑
在数据驱动的技术应用程序中,根据我的经验,以下是我们使用的一些准则:
| 归档时间: |
|
| 查看次数: |
7140 次 |
| 最近记录: |