标签: sql performance mysql
我需要在MySQL列中存储设置值。我完全喜欢内置SET类型,但似乎FIND_IN_SET()函数需要表扫描,这很糟糕。
SET
FIND_IN_SET()
似乎SET使用了底层的二进制值。如果我使用二进制值来表示一个集合,例如对于一组四个元素,它可能是这样的:
0100 0101 0110 等
我如何存储它(哪种类型),如何查询和利用索引?
P.S。我确实需要一个没有单独链接表的解决方案,类似于SET。
提前致谢!
答案 0 :(得分:1)
您可以使用BIT字段类型并使用Bit functions进行查询,但是您需要在某处以二进制形式设置值的硬编码。其他缺点是您只能拥有64个可能的值。