【发布时间】:2014-06-17 17:08:14
【问题描述】:
我知道以前有人问过这个问题,最好的答案似乎如下: Best approach to save user preferences?
但是我有一些额外的标准,这就是我再次问这个问题的原因,我需要能够将 1 个用户的偏好与另一个用户的偏好进行比较,并快速了解这两个用户之间的差异 所有用户偏好都是布尔值
实现这一目标的最佳方法是什么?
我的想法如下:有一个代表所有用户偏好的二进制数:例如1100011100.. 每个位对应一个特定的偏好
然后将其保存为 BINARY 类型(我可以在其中存储 255 位,即 255 首选项设置 - 对吗?) 或将二进制转换为 int 并将其存储为 int(然后选择 INT 或 BIGINT - INT = 4*8 = 32 位,BIGINT = 8*8 = 64 位)
这样我只需要在我的用户表中增加 1 个额外的列来存储偏好,并且只需获取二进制数即可轻松比较两个用户之间的偏好
是否有人对如何做我正在尝试做的事情有任何其他想法,或者在我在这里尝试做事情的方式中发现问题?
(注意数据库不是我的强项)
【问题讨论】:
标签: mysql database database-design