首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >速度和性能优化问题:多个数据库模型与单个数据库

速度和性能优化问题:多个数据库模型与单个数据库
EN

Stack Overflow用户
提问于 2019-08-09 14:09:03
回答 1查看 146关注 0票数 0

我有一份申请,基本上是学校的考试系统.学生们参加考试。老师追踪考试。目前,我们有一个数据库(mysql)来存储所有信息。随着用户的增长,性能非常缓慢。现在的决定是为每所学校争取一个分贝,还是以某种方式优化我们现有的单一分贝。我们的问题是,单分贝和多达1000所学校是否甚至可以/建议进行业绩优化。让我们了解一下正在处理的数据:目前约有1000所学校注册,但只有40-50所学校积极使用该系统。这样,学生表中的行超过8000行,但是已经超过70k的是带有student_answers (记录测试答案)的表,这就是问题所在。同样,我们有一个答题者表(记录每个用户所做的每一个测试),这个表也超过7万行。

我们将重视对以下问题的任何评论

  1. 考虑到上述预期数字,是否更好的做法是每所学校使用一分贝,还是单数据库是否有可能有效地工作,假设2000年为活跃学校(将40所学校的数字乘以2000年的数字)。
  2. 如果以上问题的答案是单一的db和优化是可能的,那么在创建汇总表、索引和更多方面,特别是在创建汇总表、索引和更多方面,任何建议都将受到极大的赞赏。

( a)学生用的汇总表( student_answers )是什么样子的?

大部分数据在这两个表1. quiz_takers 2. student_answers中找到。

在下面的链接中可以找到当前的表结构(数据字典):

https://drive.google.com/file/d/13WxRgmOxkRWcYV238tZJzgFSDV7fWK0J/view?usp=sharing

注意已经应用的索引(这就是我们已经尝试过的),但是性能仍然不是最佳的。

我们的主要和主要问题是,针对这一水平的使用(2000所活跃学校)的单一数据库设计是否可行,是否可以充分优化。

EN

回答 1

Stack Overflow用户

发布于 2019-08-09 18:55:19

One与多个数据库

“数据库”一词可以是“服务器”,也可以指CREATE 。在后一种情况下:

代码语言:javascript
复制
SELECT ... FROM dbname.tblname ...

就像

代码语言:javascript
复制
USE dbname;
...
SELECT ... FROM tblname ...

因此,不管您的表是在同一个数据库中还是在不同的数据库中。

如果您指的是不同的服务器(计算机),那么这是一个很大的区别。

另一种方法是将所有学校放入一个单表中,并为school_id增加一列。这往往是最好的。但是,我感觉到这将是比预期的更多的工作,我将假设你

  • 一个MySQL实例(在一个服务器上)
  • 许多DATABASEs,每个“学校”一个
  • 每个DATABASE都有几个表格来获取关于那所学校的信息。

为了解决底线的性能问题,我们需要看到查询和SHOW CREATE TABLE。它可能就像缺少一些索引一样简单。

适当的索引,即使是70K行表,也是一个“小”表。

摘要表?对于十亿行表,我强烈建议使用汇总表.对于70K行,它可能是有用的。你想总结一下吗?你要总结的表格是什么?

架构 OK,您有该架构的图片。这一点很难用。DESCRIBE的描述性不如SHOW CREATE TABLE。我没看到多少备用钥匙?怪不得你的表现有问题。向我们展示一个SELECT,即JOINs两个或多个表并有一个WHERE;我们将讨论需要哪些其他索引。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57431864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档