举个例子,有一类数据,它大概有几百多种属性,属性的正好也只有 0 和 1 这两种可能。

在这种情况下,应该挑选哪个类型的字段来存储这个数据呢?需要满足以下条件:
1. 空间占用尽量小
2. 需要方便查询,比如我需要筛选出第 5 个、第 77 个、第 100 个属性...是 1 的数据(同时是 1 或者其中有一个是 1 这两种情况都需要查询)
3. 用多个 BIGINT 存储可行么
举报· 109 次点击
登录 注册 站外分享
10 条回复  
yangg 初学 2024-9-7 17:04:31
你存属性为啥 描述是第 5 个,第 77 个,而不是属性 a ,属性 b ?,后面这种属性直接存 json
just1 小成 2024-9-7 17:29:55
bool?
akira 初学 2024-9-7 17:45:29
你可以看一下 set 和 bitmap
jy28520 小成 2024-9-7 17:45:37
用 JSON 格式,检索的时候直接按照键查询为 1 的
mainjzb 初学 2024-9-7 18:01:15
WHERE
field&1<<5  >0 &&
field&1<<77  >0  &&
field&1<<100 >0
hiboshi 小成 2024-9-7 19:49:17

请问,如果需要 MySQL 存储几百个二进制位的数据,该用什么类型

能不能将这些数据位图化看看能不能解决,创建一个字段类型是 blob , 关键词: mysql bitmap
gainsurier 小成 2024-9-7 20:15:36

请问,如果需要 MySQL 存储几百个二进制位的数据,该用什么类型

> 用多个 BIGINT 存储可行么
可行,field1 ,field2 ,field3......
dode 小成 2024-9-7 22:16:39

请问,如果需要 MySQL 存储几百个二进制位的数据,该用什么类型

使用 id,type,value 数据库增加一个属性列,简单明了,查询方便
vibbow 小成 2024-9-8 02:47:44

请问,如果需要 MySQL 存储几百个二进制位的数据,该用什么类型

@mainjzb 这么查就是性能地狱...
12下一页
返回顶部