首页 > 解决方案 > SQL Server:索引 varchar 与可为空的位性能

问题描述

我设计了一个带有可空位列的数据库来存储正/负/未测试的测试结果,与 1/0/null 具有非常明显的相关性。这对我来说似乎很好,我翻译了应用程序中的值,一切都很好。

我的老板突然决定这不好,我们应该使用FK。我提到避免无关的 FK 和表是我选择它的部分原因,他认为使用 avarchar并存储整个域值会更好,因为“至少它是可索引的”和“空间很便宜”。

varchar如果您在任何地方都做出这​​样的决定,占用更多空间意味着花费更多传输时间,但除此之外,索引和可空值之间是否存在性能差异bit?如果有的话,我怀疑可空位会更快,但我怀疑其他人在这里比我有更多的经验要说。

有人权衡这个吗?我的老板在这方面是正确的吗?

如果重要的话,该软件在 C# 中通过 EF 通过 WCF 数据服务来访问 SQL Server。

标签: sql-server

解决方案


推荐阅读