【问题标题】:Possible Web App Database Performance Issue可能的 Web 应用程序数据库性能问题
【发布时间】:2013-03-30 21:42:49
【问题描述】:

我正在为健身房的私人教练开发一款应用程序,用于跟踪客户的锻炼情况。它的工作方式基本上分为两组。

有些练习非常简单,只有名称、描述、组数、次数和重量。然后是程序,这是培训师分配给客户的一组练习。

一旦培训师分配了一个计划,他就会选择一个开始和结束日期,这就是向客户显示的内容。假设培训师在 4/8 到 4/13 分配了一个包含练习 A、B 和 C 的计划。目标是让客户每天标记每个练习以跟踪他们做了什么。所以他们可能在 4 月 9 日只做练习 A 和 C,但在 4 月 10 日完成所有 3 项。

我遇到的问题是,这意味着它必须为每个练习、每天、每个客户写一行,当培训师/客户的数量增加时,这可能会增加很多行。

与我合作的开发人员担心这可能会导致性能问题,但长话短说,他们也很可能会编造问题以收取更多时间/小时数。

他们问我是否有解决方案,所以我问了几个朋友,他们似乎认为这不会导致问题。

所以,是的,一个非常冗长的描述都是为了询问您是否认为这样的事情对于网络应用程序来说会是一个问题。

【问题讨论】:

    标签: php database web-applications database-performance


    【解决方案1】:

    好的。首先,我将这种类型的问题称为“很好”,如果您最终遇到问题(假设您正在为使用该服务收费),那么您已经赢了!
    现代关系型数据库,加上适当的索引,可以毫无问题地处理数百万行数据。我怀疑您的开发人员在欺骗您,或者不知道他们在做什么。此外,任何领域的任何专业人士都不应该向外行寻求解决方案。这是我要做的:
    1) 要求他们列出他们计划使用的查询、表结构和任何索引。将这些张贴在这里,有人将很容易指出他们所做工作中的任何明显缺陷
    2) 要求他们将测试行填充到您认为较高的数量的表中。让他们分析他们的查询。如果他们给您带来任何麻烦,请走开。

    【讨论】:

    • 永远不要把可以用愚蠢充分解释的事情归咎于恶意。
    • @JoeFrambach 确实!很好的收获。
    • 我同意,这将是一个很好的问题!感谢您的详细回复/建议。我会建议这个,看看他们怎么说。非常感谢您的帮助!
    【解决方案2】:

    不,您可以轻松处理 10 万行。

    数据库架构必须设计良好,所有表都正确编入索引。 使用 InnoDB 作为存储引擎是一个不错的选择,因为外键支持可以让您在维护表完整性方面省去一些麻烦(即删除客户端,然后可能会删除他的所有练习。)

    在所有页面上实现分页以避免显示太多行。

    【讨论】:

      猜你喜欢
      • 2012-08-22
      • 2011-04-05
      • 2017-07-24
      • 2017-07-02
      • 1970-01-01
      • 2012-12-10
      • 2015-03-31
      • 2010-10-09
      • 2020-04-04
      相关资源
      最近更新 更多