最快的MYSQL结构如下?

时间:2012-06-01 01:19:05

标签: php mysql

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

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

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

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

或者只是浪费额外的选择将它们相互关联? DB将拥有超过100万条记录。

1 个答案:

答案 0 :(得分:1)

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

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