每个用户的新表?

时间:2010-05-30 21:21:50

标签: mysql

我想为网站上的每个新用户创建一个新表,我假设会有很多用户,我相信搜索性能会很好,但维护是什么?

MySQL的表数量没有限制。

非常感谢。

4 个答案:

答案 0 :(得分:16)

实际上表也存储在表中。因此,在这种情况下,您将在用户表中移动搜索,以在系统表中搜索表。

性能和可维护性将受到严重影响。

答案 1 :(得分:10)

你为什么要这样做?只需要一个表来表示每个需要表的东西,并添加一个“用户”列。拥有一堆表与一堆行不会使你的表现更好。

答案 2 :(得分:8)

这不是一个好主意:

  • 表的最大数量是不受限制的,但表缓存的大小是有限的,打开表是很昂贵的。在MyISAM中,关闭一个表会抛出它的keycache。表现会很糟糕。
  • 当您需要更改架构时,您需要为每个用户执行一个ALTER TABLE,这将是一个不必要的痛苦
  • 搜索没有特定用户的内容将涉及所有或多个用户表之间的可怕UNION查询
  • 正确构造外键约束将很困难,因为您将不再拥有包含所有用户ID的单个表

为什么你确定表现会好?你测试过了吗?

答案 3 :(得分:5)

为了直接回答您的问题:维护会降低您的热情,但新用户会为您的网站注册。 不确定您的网站使用的是哪种语言/框架,但在此阶段最好查找一些小例子。我们的猜测是,在您找到的每个示例中,每个新用户都会在表格中获得一个记录,而不是数据库中的表格