代码之家  ›  专栏  ›  技术社区  ›  Joey

一个数据库或单独数据库中的所有客户?[关闭]

  •  2
  • Joey  · 技术社区  · 8 年前

    我为自己的需要建立了一个学校管理系统。表的大小从~200行到~30000行不等/在学年结束时/。

    我的一些朋友看到了这个系统,他们敦促我把它提供给其他学校。我想尝试一下,至少现在有几所学校。考虑到我目前的架构和共享主机,我必须把所有的学校都存储在 单分贝 所以有两个问题困扰着我:

    1. mysql可以轻松处理具有300000行的表吗?
    2. 目前该系统基于yii2,我已经对其进行了优化,以获得最高性能-您认为尝试或更好地为每个学校提供专用服务器和独立数据库的解决方案是明智的吗?

    我不知道把我和其他10所学校的所有学生、出勤率、付款等信息存储在同一数据库的共享表中是否明智。与其自找麻烦,不如问问。

    任何建议都是非常受欢迎的:)

    1 回复  |  直到 8 年前
        1
  •  1
  •   Hemant_Negi    8 年前

    过早的优化是万恶之源(至少是 it)在编程中

    你现在不应该担心这个。开始运行您的应用程序,随着您的扩展,找出瓶颈,然后尝试为它找出解决方案。

    mysql可以轻松处理具有300000行的表吗?

    首先,使用最佳规范化原则来构造表和关系。mysql非常擅长处理高达10000000的行。但这也取决于如何对数据进行索引/查询。对经常用于查找的列使用适当的数据库索引。一个大的“不喜欢”的查询,但如果你必须的话,那么使用一个类似搜索引擎(弹性,solr)。

    目前该系统基于yii2,我已经为max优化了它 表现-你认为是明智的尝试还是更好的工作 为每个学校提供一个专用服务器和独立数据库的解决方案?

    我对yii2有一个很小的了解,但是当然php中有更好的框架,您可以尝试一下,例如larvel( this will give you a better idea )中。当然,最好将此应用程序托管在专用服务器上。为什么浪费钱,当你可以有私人副总裁在5美元从 digitalocean 是的。

    我不知道把所有的学生,出勤率,工资都存起来是否明智 我和其他10所学校的ETC信息 分贝。与其自找麻烦,不如问问。

    在同一个数据库中存储学生、出勤率、付款信息绝对没有问题,只要正确地构造表就可以了。