有效地(在性能方面)在MySQL中存储和使用设置值

时间:2010-08-24 10:07:53

标签: sql performance mysql

我需要在MySQL列中存储设置值。我完全喜欢内置SET类型,但似乎FIND_IN_SET()函数需要表扫描,这很糟糕。

似乎SET使用了底层的二进制值。如果我使用二进制值来表示一个集合,例如对于一组四个元素,它可能是这样的:

0100 0101 0110 等

我如何存储它(哪种类型),如何查询和利用索引?

P.S。我确实需要一个没有单独链接表的解决方案,类似于SET。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用BIT字段类型并使用Bit functions进行查询,但是您需要在某处以二进制形式设置值的硬编码。其他缺点是您只能拥有64个可能的值。