![]() |
1
30
我认为你应该用
你也可以让它更人性化
还要注意排序依据
|
![]() |
2
36
似乎在大多数情况下,
选择也似乎是
|
![]() |
3
10
使用tinyint是比较标准的做法,它可以让您更容易地检查字段的值。
我不是MySQL内部工作的专家,但它直观地感觉到检索和排序整型字段比字符字段更快(我只是感觉“a”>“z”比0>1更有效),从计算的角度来看,0和1是标准的开/关标志,这让我感觉更熟悉。所以整数的存储似乎更好,感觉更好,并且在代码逻辑中更容易使用。0/1绝对是我的赢家。 您还可以注意到,在某种程度上,这也是MySQL的官方位置,从 their documentation :
如果MySQL将tinyint(1)等同于boolean,那么这似乎是一种可行的方法。 |
![]() |
4
4
要确定这一点,您应该对其进行基准测试。或者要知道,从整个项目的宏观角度来看,这可能没有那么重要。 char列有编码和排序,比较它们可能涉及编码之间不必要的切换,所以我猜int会更快。出于同样的原因,我认为更新int列的索引也更快。不过,这也没什么关系。
|
![]() |
5
2
他们两个都会离得很近,所以没关系。如果你觉得有必要问这个问题,那么你就过于优化了。使用最符合逻辑的。 |
![]() |
6
1
如果指定类型
也:
|
![]() |
7
1
虽然我的直觉是tinyint上的索引比char(1)上的索引快,因为没有字符串处理开销(排序规则、空白等),但我没有任何事实来支持这一点。我的猜测是,没有值得担心的显著性能差异。
但是,因为您使用的是PHP,所以将其存储为tinyint就更有意义了。使用1/0值等同于使用
|
![]() |
8
0
有什么不同吗? |