背景
我正在开发一个具有主表(Accounts
)和多个表的应用程序,这些表包含不同的交易记录(Deposits
,Withdrawals
,Transfers
等。 ),每个帐户可以针对每种交易类型具有多个记录,即,帐户表与每种交易类型表之间存在1:N的关系。这些表的结构确实有所不同,这也不值得。
我目前正在使用Sequelize.js和MySQL,如果可能的话,我希望坚持对Sequelize.js友好的解决方案。我可以根据需要随意更改数据库模式。
问题
我想显示一个帐户进行的所有交易类型的统一分页视图。鉴于系统中会有大量事务,我该如何最好地创建这种视图?
我发现的潜在解决方案
分别查询每种类型的交易,将这些记录一起添加到应用程序代码中,并基于此(我正在做的)限制/抵销。
我认为一种解决方案是在表上进行巨大的UNION
并从中选择记录,但是我对此的性能感到担忧,并且不得不创建一个长的自定义SQL查询以确保表格的列匹配。
另一种方法可能是创建一个Transactions
表,该表包含对其他表的引用以及时间戳,但这似乎仍然很昂贵,因为我不得不分别获取实际记录。