我需要在 MySQL 列中存储设置值。我完全喜欢内置 SET
类型,但似乎 FIND_IN_SET()
函数需要表扫描,这很糟糕。
SET
似乎在幕后使用了二进制值。如果我使用二进制值来表示一个集合,例如一组四个元素,它可能是这样的:
0100 0101 0110 等等
我如何存储它(哪种类型),如何查询和利用索引?
附言我确实需要一个没有单独链接表的解决方案,类似于 SET。
提前致谢!
最佳答案
您可以使用 BIT 字段类型并使用 Bit functions对于查询,但是您需要在某个地方以二进制形式对您的设置值进行硬编码。其他缺点是您只能有 64 个可能的值。
关于sql - 有效地(在性能方面)在 MySQL 中存储和使用设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555355/