簡體   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