gpt4 book ai didi

mysql - 数据库设计: multiple values for single field in a record

转载 作者:行者123 更新时间:2023-11-29 09:10:38 25 4
gpt4 key购买 nike

我正在开发自动建议功能,作为其中的一部分,我想根据特定用户的偏好对结果进行加权。例如:如果我的大多数用户经常输入 fish,那么一旦用户输入 f,算法就会返回 fish 作为最流行的结果。但是,如果特定用户主要输入 food,那么我想应用一个权重,以便考虑该特定用户的偏好。

我最初想到通过使用一个大型自动建议索引来实现这一点,其中包含一个字段userids,每当用户输入字母时,算法就会检查该特定用户的用户ID是否存在于userids 字段,如果存在,则会对该特定结果应用相应的权重。

一些记录如下所示:

word             |count            |userids
------------------------------------------------------------------------------
food |2 |aa,b,ccd
fish |12 |a,b,c,d,e,f,gg,he,jkl,sd

但是,我认为这种方法即使只有几百个活跃用户也无法很好地扩展。设计这个数据库的更好方法是什么?

提前致谢,睡着的武士

附注我是数据库设计方面的新手,因此请用通俗易懂的方式解释您的解决方案。

最佳答案

这不是一个好主意。该表不是normalized当你需要加入这个字段时,你最终会遇到复杂的查询。

更好的设计是在该表上有一个 wordid 字段作为主键(标识单词)和一个多对多表来将单词与用户连接起来(words_to_users 带有 wordiduserid 字段)。

关于mysql - 数据库设计: multiple values for single field in a record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5684996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com