- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 MySQL 关系数据库在 Codeigniter 中实现一个会计系统。我面临一些问题。我将所有交易记录在“Transaction Table”中,在会计术语中可以将其视为总账。因为系统可能有超过一千个用户,并且我的“Transaction Table”中可能有数十亿笔交易。为了提取 Assets 负债表等会计报告,我需要搜索该特定用户的所有交易,然后执行其他操作以形成“会计报告”
现在来谈谈这个问题,因为交易增长太高,这肯定会减慢我的系统速度。我该如何处理这个问题?
我找到了一个解决方案,即“帐户关闭”,如果我每月关闭帐户,限制用户执行创建、更新和删除功能,那么我将能够在我的会计报告中使用预先计算的帐户值,但我不能限制用户查看以前的交易,因此在这种情况下系统将不得不从数十亿交易中搜索他的交易,这并不能解决我的问题。
我正在考虑将已关闭的事务转移到每个用户的单独表中,这可以解决问题,但我的数据库是规范化的(3NF)。在创建用户帐户并管理新创建的表的关系时,为每个用户创建单独的表是一个好主意吗?
最佳答案
您的模型可能有误。您假设每笔交易有一个贷方账户和一个借方账户。通常有 3 个或更多帐户参与交易。
关于您的规模问题 - 现在不用担心。让您的产品获得成功。如果您的条目接近十亿,请聘请顾问来帮助您,他或她可以使用许多技术,分片是关键字之一。
如果您不认为自己能够负担得起多用户会计系统 10 亿个条目的咨询费用,那么您的业务模式就有缺陷,并且您将来会遇到大麻烦。如果是这样的话,现在最好重新考虑一下。
根据我对当前结构的估计,该表每十亿条目将容纳大约 0.5 GB。 MySQL 应该毫无问题地处理这个问题,除非你的服务器有空间限制。
关于mysql - 会计系统 : How to Implement of Account Closing, 管理多个用户创建的数十亿交易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54126098/
我是一名优秀的程序员,十分优秀!