我的 MySQL 表中有一个 BIT 类型的字段。我想使用位值存储记录的状态,例如:
1 = status1
2 = status2
4 = status3
8 = status4
每条记录一次可以有多个状态。对于状态 1 和状态 3,值将是 1 + 4 = 5。我可以使用以下方法查询表中所有状态为 3 的记录:
SELECT *
FROM `table`
WHERE `statuses` & 4
我有索引statuses
,但EXPLAIN
告诉我没有使用索引。我可以在这种情况下使用索引吗?
PS 使用单独的多对多链接表是更规范的解决方案,但我希望有更多的“扁平”结构。