MySQL - 使用'允许NULL'

时间:2011-05-06 01:25:35

标签: mysql null schema

使用NULL来填充表格中的空单元格会使搜索/查询更快吗?

例如这是

90  2   65  2011-04-08  NULL    NULL    
134 2   64  2011-04-13  NULL    07:00:00    
135 2   64  2011-04-13  NULL    07:00:00    
136 2   64  2011-04-13  NULL    22:45:00    
137 2   64  2011-04-14  NULL    19:30:00

优于

90  2   65  2011-04-08          
134 2   64  2011-04-13           07:00:00   
135 2   64  2011-04-13           07:00:00   
136 2   64  2011-04-13           22:45:00   
137 2   64  2011-04-14           19:30:00

如果有人能告诉我使用NULL(性能,良好做法等)的任何特定优势,那将非常感激。

1 个答案:

答案 0 :(得分:4)

存在语义差异。

  • NULL表示“价值未知或不适用”。

如果这描述了该列的数据,则使用它。

  • 空字符串表示“已知值,而且是'虚无'”。

如果这描述了该列的数据,则使用它。当然,这仅适用于字符串;对于其他数据类型具有这种情况是不寻常的,但通常对于数字字段,0的值适合此处。

简而言之,这主要取决于你的字段是什么意思。当您知道要表示的数据时,请稍后担心性能和性能分析。 (NULL vs ""永远不会成为你的瓶颈。)