【发布时间】:2014-05-19 11:28:46
【问题描述】:
我必须创建数据库来存储大量数据,但能够使用 MySQL 足够快地提取数据。 我想知道如果我为每个用户创建一个新数据库或一个新表集而不是使用单个大型数据库是否会有所帮助。 我唯一担心的是用户会很多,但我希望他们不会同时使用该项目。 有没有人有类似结构的经验或任何其他解决问题的建议?
【问题讨论】:
标签: mysql database large-data-volumes large-data
我必须创建数据库来存储大量数据,但能够使用 MySQL 足够快地提取数据。 我想知道如果我为每个用户创建一个新数据库或一个新表集而不是使用单个大型数据库是否会有所帮助。 我唯一担心的是用户会很多,但我希望他们不会同时使用该项目。 有没有人有类似结构的经验或任何其他解决问题的建议?
【问题讨论】:
标签: mysql database large-data-volumes large-data
为所有用户使用单个数据库和单个“用户”表...分配主题唯一 ID...。 或者如果单个用户有很多数据...... 示例
如果 user_a 有 10 本书....
用这种结构制作一个不同的表,比如“Book_table”.....
id , user_id , book_name
你可以为多个用户使用这个结构......
请详细说明你有哪些用户的详细信息......我会尽量给出更准确的答案......
【讨论】:
绝对只使用一个用户表。如果您需要快速搜索该表,您可以索引需要快速搜索的列。例如,您有一个包含名字、姓氏和电子邮件地址的用户表。这些是文本字段,因此搜索会很慢,因为它需要扫描整个表并比较所有字符串(注意字符串比较比整数慢得多)。为了解决这个问题,您可以索引诸如电子邮件地址之类的列,这有点像一个只有电子邮件的有序表(隐藏起来)。有序表更易于搜索,因此您的搜索速度会更快。
这是一个很好的基本example 如何使用索引。不过要小心索引,因为它们会增加插入的开销。阅读您的部分内容将在这里真正有所帮助。
无论如何,这是对索引的过度简化的解释。
【讨论】: