【发布时间】:2010-03-23 05:52:40
【问题描述】:
我有一个带有状态列的 MySQL InnoDB 表。状态可以是“完成”或“处理中”。随着表的增长,最多 0.1% 的状态值将是“处理中”,而其他 99.9% 的值将是“完成”。由于“处理”的高选择性(尽管不是“完成”),这似乎是索引的一个很好的候选者。是否可以为仅索引值“处理”的状态列创建索引?我不希望索引“完成”索引浪费大量空间。
【问题讨论】:
-
只是想知道将其转换为名为“处理”的位列是否更容易,其中值为“1”或“0”。会使用更少的空间。 (除非您有超过 2 个状态)
-
好建议。实际上,我确实有超过 2 个状态,但为了简单起见,我对其进行了简化。
-
“但为了简单起见我简化了它”——那没关系,只要你没有因为其他原因简化它:-)