【发布时间】:2016-12-18 23:13:59
【问题描述】:
假设我有一个添加公司的应用程序。我有一张这样的桌子:
create table companies(
id primary key,
name varchar
)
对于每家公司,我都必须存储大量的业务类型信息。由于它们太多,我决定为每家公司创建一个数据库,以避免冲突、非常慢的性能和复杂的查询。数据库名称将是我的公司表中的公司名称。
我的问题是我想给公司名称和数据库一个一对一的关系,这样它们就可以相互融合。那可能吗?如果没有,除了为每个公司创建一个数据库之外,还有更好的方法吗?
【问题讨论】:
-
当您说为每个公司单独设置
database时,我想您实际上是指单独的table。好吧,这些都不会很好地扩展。相反,您应该找到一种方法来规范您的数据,以便为所有公司提供一个公司表。 -
您的方法不正确。数据库可以处理非常非常大的表。他们不能很好地处理数以千计的小数据,尤其是那些具有相同信息的数据。
-
@Tim Biegeleisen 我有一个只包含公司名称的公司表。但是,每个公司的所有特定信息都在一个单独的数据库中。每个公司一个数据库。
-
@Gordon Linoff 你能进一步解释一下吗?我认为当表变得越来越大时,查询会变得非常慢。这就是为什么我想把它们放在不同的数据库中。您介意在答案中解释这一点吗?我对此很感兴趣。
标签: mysql sql database database-design