gpt4 book ai didi

c# - NULLS 应该在代码中还是在数据库中处理?的优点和缺点?

转载 作者:太空狗 更新时间:2023-10-29 21:03:31 27 4
gpt4 key购买 nike

我有几个关于在何处处理空值的问题。让我设置一个场景。假设我有一个包含 5 个 varchar(50) 列的表,在提供使用 null 或空字符串的原因时用作示例。

  1. 在代码中还是在数据库中处理 NULL 哪个更好?我的意思是,如果 varchar(50) 不包含任何值,则将空字符串分配给它更好,还是将 null 分配给 varchar(50) 并在代码中处理该 null 更好?

    <
  2. 将空字符串分配给列会影响性能开销吗?

  3. 使用 null 与空字符串对索引有何影响?

  4. 我的印象是,如果您不允许数据库包含空值,则不必在代码中处理它。这个说法是真的吗?

  5. 除 varchars 之外的其他数据类型在使用默认值时是否会产生相同的问题,还是字符串数据类型的问题更大?

  6. 如果表包含空值,使用 ISNULL 函数的开销是多少?

  7. 还有哪些优点/缺点?

最佳答案

我的一般建议是将数据库中的字段声明为 NOT NULL 除非您有特定需要允许 null 值,因为它们对新手来说往往非常困难到数据库来处理。

请注意,一个空字符串和一个空字符串字段不一定意味着同一件事(除非您将它们定义为)。 null 通常表示“未知”或“未提供”,而空字符串就是提供的已知空字符串。

允许或禁止 null 字段完全取决于您的需要。

关于c# - NULLS 应该在代码中还是在数据库中处理?的优点和缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1792656/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com