繁体   English   中英

如何在运行项目中处理大量数据?

[英]how to handle very large amount of data in running project?

我在 Rails 中有一个项目,其中我们有存储大量记录的表产品,当我们对该表进行查询时,数据每天都在增长,几乎需要 2 到 4 分钟。

我的问题是我如何处理它项目已经建成它不再处于我们可以重新设计其架构的状态?

我想这是处理大数据的问题,但我不知道这样做的标准或做法。

我尝试应用索引它有帮助但数据仍然太多我需要另一种技术来处理它可能我需要将它分成两个表但不确定。

目标是保持每天存储传入数据,并在几毫秒而不是几分钟内进行查询。

如果您致力于 postgresql 表,就像您看起来的那样,那么您应该采取以下行动。

从阅读这篇文章开始。 https://stackoverflow.com/tags/query-optimization/info

确定应用程序中耗时最多的三个查询。 这些可能是长时间运行的报告生成查询,或频繁运行的事务查询。

使用 postgresql 的EXPLAIN ANALYZE命令来确定您的服务器如何满足它们。 前几次注视此 SQL 执行计划内容时,您必须学到很多东西。 但这值得您花时间学习。

回到这里,根据需要提出问题。

添加或调整表索引。

对接下来三个最慢的查询重复这些步骤。

只要您的应用程序继续增长(希望多年),就计划每隔几个月将其作为例行维护操作执行一次。

在您承诺重组数据之前调查最慢的查询。 例如,按月或其他方式将数据拆分到表中,这将需要大量工作,并且会增加测试和操作的复杂性。 在这样做之前确保这是合理的,并且它实际上会有所帮助。 许多正确索引的 SQL 表确实可以很好地扩展到数百兆行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM