【发布时间】:2012-08-16 15:03:54
【问题描述】:
我对 MySQL 还很陌生,我知道大部分基本功能以及如何发送查询等。但是,我正在尝试学习如何构建它以优化用户信息搜索,并想获得一些想法。
现在我只有一个名为 user_info 的表(用于功能目的和测试),它保存用户信息,另一个表存储链接到用户的照片。理想情况下,我希望这些信息中的大部分都可以尽快访问
在创建一个主要用于存储和检索用户信息(姓名、年龄、电话、消息等)的数据库时,为每个新用户创建一个存储所有信息的新表是一个好主意,以便一个表 user_info 不会因多个查询、锁定等而陷入困境。例如,用户 john smith 将在数据库中拥有自己的表,其中包含他的所有信息,包括照片、消息等。
或
最好只有几个表,例如 user_info、user_photos、user_messages 等。并以这种方式访问数据。
我不担心表格中的冗余,例如用户电子邮件地址重复多次。
【问题讨论】:
-
每个用户的表?不不不。想想我们都希望什么,你的项目会大受欢迎,你就有一百万用户。只要尝试并掌握尝试和维护它会是什么样子。更重要的是,试着弄清楚如何获得一个列表,例如,系统中拥有超过五张图片的所有用户。如果您将每个用户都放在自己的表中,您真的无法以任何有效的方式做到这一点。