这听起来很疯狂,但我开始了一个数据密集型项目[收集在线商店库存],后来变得非常大。我目前有大约2000个用户,每个用户有大约100个表。所以从本质上讲,我创建了系统,以便每个用户拥有自己的mysql数据库并将其托管在专用服务器上。问题是,服务器变得非常慢并且由于压力和连接而中断。有没有可以用来优化数据库的工具?或者我应该只重新设计一个数据库,这意味着重新设计整个系统?我需要一个建议和帮助
答案 0 :(得分:1)
4000个一个系统的数据库?! Wowzer,你创造了Google吗?
我肯定会说你需要重新设计这个设置 - 除非你的'系统'实际上是数据库托管,当然每个用户都支付了私人数据库。
拥有多个离散数据库没有错,但每个用户2个是错误的方法。
“正确”的方法将完全取决于您的系统的用途。
您提到每个人都有专用服务器 - 这可以防止其他用户出现争用问题。你确定它不是共享托管吗?
答案 1 :(得分:1)
十分之九,当有人以这种方式构建应用程序数据库(将相同的数据分成不同的数据库,甚至分成不同的表)时,基于不必要的预先优化系统的尝试是错误的。
但是如果没有更多信息,我们无法判断:
这是错误的九次中的一次,或者是第十次,这是一个合适的设计。
连接数是否会导致您看到的性能问题(可通过切换到单个数据库解决)或其他问题。