2013-04-08 153 views
0

我正在为体育馆的私人教练开发一款应用程序来跟踪其客户的锻炼。它的工作方式基本上分为两组。可能的Web应用程序数据库性能问题

有一些练习,非常简单,只是名称,描述,集合,代表和体重。然后是程序,这是培训师分配给客户的一系列练习。

一旦培训师分配一个程序,他会选择一个开始日期和结束日期,这就是客户端显示的内容。所以说教练从4/8到4/13分配一个练习A,B和C的程序。目标是让客户每天标记每项练习,以追踪他们所做的事情。所以他们可能只是在4/9上练习A和C,但是在4/10中全部练习3。

我遇到的问题是,它意味着它必须为每个客户端的每个练习编写一行,当教练/客户端数量增加时,这可以增加很多行。

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

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

所以是的,一个非常长的啰嗦描述所有问如果你认为这样的事情会是一个Web应用程序的问题。

回答

0

好的。首先,我把这种类型的问题称为“很好的”问题,如果最终出现问题(假设您对服务使用收费),那么您已经赢了!

具有适当索引的现代关系数据库可以处理数百万行数据而没有问题。我怀疑你的开发者正在欺骗你或者不知道他们在做什么。任何领域的专业人士都不应该向外行寻求解决方案。这是我会做的:
1)让他们列出他们正在计划使用的查询,表结构和任何指数。将这些发布在这里,有人可以很容易地指出他们所做的任何明显的缺陷。
2)让他们用测试行填充表格,以达到您认为数量较高的数量。让他们分析他们的查询。如果他们给你任何麻烦,走开。

+1

永不归于由愚蠢性充分解释的恶意。 – 2013-04-08 18:26:41

+0

@JoeFrambach确实!接得好。 – GHC 2013-04-08 18:28:45

+0

我同意,这将是一个很好的问题!感谢您的详细回复/建议。我会建议这个,看看他们说什么。我非常感谢帮助! – fullOfQuestions 2013-04-08 18:58:01

0

不,您可以轻松处理100k行。

数据库模式必须设计良好,所有表格的索引都正确。 使用的是InnoDB作为存储引擎是一个很好的选择,因为这样可以节省一些头痛的维护表的完整性外键的支持(即客户端被删除,那么他所有的练习可能会被删除。)

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