1

当前存储有关人名的 3 位信息。

name,nicename,searchname = ("Mr.Joe bloggs", "Mr-Joe-bloggs", "mrjoebloggs")

用于用户显示名称的名称,用于 url 的 nicename 和用于实时搜索数据库的 searchname(因此速度是必须的,毫秒很重要!)

目前一个表包含所有 3 个字段,但是将每个字段存储在单独的表中会更有效吗?并通过 id 关联所有内容?

还是会浪费额外的选择将它们相互关联?DB 将有超过 1 亿条记录。

4

1 回答 1

1

如果您坚持保留这三个字段,您将与每条数据建立一对一的关系。将它们全部放在同一行中是有意义的。

但是,您可能会发现只存储名称会更好。当您需要“好名字”时,您可以使用正则表达式将句点和空格(以及其他字符)替换为连字符(或删除它们)。当用户搜索“mr joe bloggs”时,您可以通过将三个单词分开并使用 LIKE 子句来制作一个简单的搜索算法。

于 2012-06-01T01:39:01.810 回答