我有一个 MySql 数据库。我有很多记录(大约 4,000,000,000 行),我想处理它们以减少它们(减少到大约 1,000,000,000 行)。
假设我有以下表格:
最小行数 > 20,000,000
用户希望在 ProcessedData 表中查看和搜索需要加入超过 8 个 的其他表。
在 RawData 中插入和在 ProcessedData 中搜索(ProcessedData INNER JOIN ProcessedDataDetail INNER JOIN ...)非常慢。我使用了很多索引。假设我的数据长度是 1G,但我的索引长度是 4G :)。 (我想使用这些索引,它们使我的过程变慢)
我怎样才能提高这个过程的速度?
我想我需要一个来自 ProcessedData 的影子表,将其命名为 ProcessedDataShadow 。然后处理 RawData 并使用 ProcessedDataShadow 聚合它们,然后将结果插入 ProcessedDataShadow 和 ProcessedData 。你有什么想法??
(我正在用 C++ 开发项目)
先感谢您。
最佳答案
在不了解您的实际应用程序的更多信息的情况下,我有以下建议:
关于mysql - 如何管理 MySql 上的巨大操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6340156/