如何在MySql上管理巨大的操作
|
我有一个MySql数据库。我有很多记录(大约4,000,000,000行),我想对其进行处理以减少它们(减少到大约1,000,000,000行)。
假设我有以下表格:
表RawData:我每秒要将5000多个行插入到RawData中
table ProcessedData:此表是在RawData处插入的行的已处理(汇总)存储。
最小行数> 20,000,000
表ProcessedDataDetail:我写表ProcessedData的详细信息(聚合的数据)
用户想要在需要连接8个以上其他表的ProcessedData表中查看和搜索。
插入RawData并在ProcessedData中搜索(ProcessedData INNER JOIN ProcessedDataDetail INNER JOIN ...)非常慢。我使用了很多索引。假设我的数据长度为1G,但我的索引长度为4G :)。 (我想利用这些索引,它们会使我的处理变慢)
如何提高此过程的速度?
我想我需要一个来自ProcessedData的影子表,将其命名为ProcessedDataShadow。然后处理RawData并使用ProcessedDataShadow对其进行聚合,然后将结果插入ProcessedDataShadow和ProcessedData中。你有什么想法??
(我正在用C ++开发项目)
先感谢您。
没有找到相关结果
已邀请:
2 个回复
瓜唱鬼
厦惫