我有一个表存储所有的交易(每笔交易超过500,000美元,可以是出价交易(直接购买),也可以询问transactino(直接出售),如上所示),我将每天汇总结果。但由于BlockTrade中的数据量非常大(数十万行数据甚至更多),因此我将仅使用下面所述的汇总数据。创建视图或表或创建一个条目来自动生成另一个表中的行?
问题是,当我从[查看]选择*,I须创建一个表中存储的数据输出,以从BlockTrade表再次查询不需要历史数据
表:BlockTrade
代码|日期时间|价格|订单(买入= 1,卖出= -1)| Vol |量
SQL的部分总结当天同一股票的相关交易: ... - >总和(情况下,当订单= 1,那么其他金额0结束)... - >转化为结果
查看:摘要1
代码|日期|价格| TotalBuyVol | TotalBuyAmount | TotalSellVol | TotalSellAmount
通过每天每股价格,它将有一个总结。
查看:摘要2
代码|日期| TotalBuyVol | TotalBuyAmount | TotalSellVol | TotalSellAmount | NetAmount
通过每日股票,而不是每个价格,总买卖量和总量的总结。
我搜索了论坛,发现有的人说去表现不会可以提高很多,因为它只是一个存储的sql语句。如果我不想再次查询视图(因为它仍然需要每次运行查询,将摘要的结果存储到表中是否好处)?因为BlockTrade表将每天更新。创建摘要后,我不需要查询blocktrade表格。我只需要汇总表进行计算。数据库中有1700只股票。 – Trader 2014-10-09 08:07:36
是的,我同意。你看不到性能上的巨大差异。使用视图的另一个原因是便利性和安全性。您可以在视图和选择语句中找到n篇文章。但我看到你的数字非常少。如果您完全使用索引和分区等概念,Mysql有能力以超乎想象的速度快速完成数百万条记录的复杂连接。 – Logan 2014-10-09 09:04:57
可以帮助我如何创建行插入到表中说“TxSummary”的结果从选择语句“选择代码,datE_format ...”?我会自动一天一天地运行它。那么我可以快速从摘要表中检索。谢谢。 – Trader 2014-10-16 07:47:39