gpt4 book ai didi

mysql - 性能优化 : Null allowed/not allowed vs Performance, 如果不是关键

转载 作者:行者123 更新时间:2023-11-29 14:40:23 24 4
gpt4 key购买 nike

Possible Duplicate:
NULL in MySQL (Performance & Storage)

如果出现以下情况,您是否强烈建议取消选中表中列允许的 NULL:

  • 该列不是键,
  • 该列可以被选择或插入到表中或更新,但从未在 WHERE、连接和任何查询的其他部分中使用(当我们决定为哪一列建立索引以获得更好的性能时,可以计算 WHERE、JOIN 等)。

那么,如果为上述列保留“NULL”复选框(即允许 NULL),是否会影响性能?

我希望答案(至少对于 MySQL 而言)是:

  • 不会,即使是 1% 也不会产生影响,或者
  • 不会,完全不会影响。

最佳答案

是的,我确实建议您创建任何不需要为 NULL、NOT NULL 的列。

在我看来,默认情况下启用 NULL 是 SQL 中的“错误”之一。

原因与性能无关,而是与应用程序的正确性有关。如果您有一个强制列值,则将其设置为 NOT NULL 更有意义(事实上,NULL 值将是一个错误)。如果有意义的话,请使用默认值。

简而言之:除非数据库结构中有有效的理由使其可以为空,否则任何列都不应为空。

另请注意,NULL 在唯一索引中执行一些“特殊”操作 - 允许多行包含 NULL。

关于mysql - 性能优化 : Null allowed/not allowed vs Performance, 如果不是关键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8118235/

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