我知道这个问题以前已经被问过,最好的答案似乎是以下链接:
最佳保存用户偏好的方法?
然而,我有一些额外的条件,这就是为什么我再次提出这个问题的原因。我需要能够比较一个用户的偏好和另一个用户的偏好,并快速地得到两个用户之间的差异。所有用户的偏好都将是一个布尔值。
什么是实现这个的最佳方式?
我考虑以下方面:使用二进制数字来表示所有用户的偏好:例如1100011100...每个位对应于特定的偏好。
然后,将其保存为BINARY类型(其中可以存储255位,即255个偏好设置 - 是吗?),或将二进制转换为int并将其存储为int(然后选择INT或BIGINT之间的选择- INT = 4 * 8 = 32位,BIGINT = 8 * 8 = 64位)。
这样,我只需要在我的用户表中有一个额外的列来存储偏好,通过简单地获取二进制数,就可以轻松比较两个用户之间的偏好。
是否有其他关于如何执行我尝试做的事情或者看到我在这里尝试做事情的问题的想法?
(注意,数据库不是我的强项。)
什么是实现这个的最佳方式?
我考虑以下方面:使用二进制数字来表示所有用户的偏好:例如1100011100...每个位对应于特定的偏好。
然后,将其保存为BINARY类型(其中可以存储255位,即255个偏好设置 - 是吗?),或将二进制转换为int并将其存储为int(然后选择INT或BIGINT之间的选择- INT = 4 * 8 = 32位,BIGINT = 8 * 8 = 64位)。
这样,我只需要在我的用户表中有一个额外的列来存储偏好,通过简单地获取二进制数,就可以轻松比较两个用户之间的偏好。
是否有其他关于如何执行我尝试做的事情或者看到我在这里尝试做事情的问题的想法?
(注意,数据库不是我的强项。)