我们正在创建一个网站,用户可以在其中创建特定的个人资料。目前,我们已经拥有大约 662000 个配置文件(我们数据库中的记录)。用户可以将某些关键字(分为 5 个类别)链接到他们的个人资料。他们最多可以为每个类别链接大约 1250 个关键字(不,这不是胡说八道,对于某些配置文件,这实际上是有意义的)。目前我们将这些关键字保存到一个数组中,并将序列化的数组插入到数据库中配置文件的记录中。
当其他用户使用搜索功能并搜索其中一个关键字时,将使用“WHERE keyword LIKE %keyword%”执行 SQL 查询。这意味着必须处理大量记录并遍历每个记录的整个序列化数组。为关键字列添加索引非常棘手,因为它们没有定义的最大长度(这可能是 22000+ 字符!)。
还有其他更明智和实用的方法来解决这个问题吗?
谢谢!