【问题标题】:Handling user account usage with PHP and MySQL使用 PHP 和 MySQL 处理用户帐户使用情况
【发布时间】:2011-06-14 06:46:58
【问题描述】:

我正在构建一个应用程序,让用户拥有一个基本帐户,能够为他们的帐户购买更多使用量。例如,用户只能拥有 50mb 的数据,之后他们可以购买更多数据...

我想知道的问题是如何将这些信息存储在表中以及如何管理它们的当前使用情况和当前限制。最好将此信息存储到单个表中,例如:

Usage
-------------------
id
user_id
mb_used
mb_limit
xx_used
xx_limit
etc

那么我会在他们订购更多兆字节等时更新限制吗?我已经考虑过预定的包,但对于这个应用程序,它是不可接受的。

如果您需要更多信息以提供更好的指导,请告诉我。

谢谢!

【问题讨论】:

  • 为什么你有 xx_used 和 xx_limit,这些是用于其他“其他事情......”吗?
  • @Jason,没错。

标签: php mysql user-accounts


【解决方案1】:

对于兆字节,平面表就可以了。详细说明您的餐桌,我可以进一步帮助您。

现在我只列出使用单表架构时的一些注意事项。

使用一张表很难进行版本控制和历史记录。如果一个人想要查看他们购买了多少兆的历史记录会发生什么?

对表的访问速度 - 取决于您的应用程序的工作方式 - 是否有更多的插入然后选择? mb 字段是否比“xx”字段更频繁地访问?拆分表可以提高速度

您也可以使用平面文件表并仍然执行版本历史记录。

我想这取决于你想做什么。

【讨论】:

  • 付款记录将保存在另一个表中以用于历史记录,但我认为使用该表计算限制不是一个好主意,除非您在谈论其他内容。即使那样,我仍然需要一个使用表来存储他们当前的使用情况是否正确?我最多只跟踪 5 种不同的使用统计信息。
【解决方案2】:

如果它是一个报告表 - 就像账户上每次或每日操作后的快照:

用法:

  • 身份证
  • user_id
  • mb_used
  • mb_limit
  • 时间戳

【讨论】:

  • 如果低于限制,我将需要用户统计数据的最新数据,以便他们对其帐户执行操作。
  • 你在征求意见,但把其余的都隐藏起来了……你能提出更大的数据流方案以了解进程吗?
  • 我在原帖和 cmets 中所说的是我能提供的小菜一碟。因为这是我客户的项目,所以我不会公开讨论细节。概括地说,我只想知道为用户的使用情况及其限制创建一个或多个表的最佳实践。
  • 那么也许您的客户应该雇佣一个知道如何完成这项工作的人,而无需在互联网上询问一堆陌生人
  • @Dagon,或者我很好奇其他人或项目是如何解决这个问题的?我不是 DBA,也不希望 DBA 给我“正确和最佳”的表格方案。只是寻求指导。看起来 SO 不是您的网站类型,那么如果您不想帮助陌生人,不是吗?此外,作为一个灵活的问题,我将获得的帮助将使那些处于相同情况的客户或自己的项目受益。请注意,Jason 的回答与我的问题一样含糊不清,给了我足够的信息来测试这两种想法,从而得出结论,在了解我的客户需求后,我认为是“最好的”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-12
  • 1970-01-01
  • 2011-04-22
  • 1970-01-01
  • 2013-12-23
相关资源
最近更新 更多