大きなデータベース(> 100GB)で作業していた人たちの経験を探しています。1つまたは複数のテーブルで何百万もの行を扱う?
基本的には、すべてのアカウントに対して、システムから送信されたすべてのメッセージを格納するテーブルがあります。毎週、我々はaproxを得る。 1百万の新しい行
この表では、一部のクエリで問題が発生し始めています。私はクエリを適切に最適化する方法を理解しており、さまざまなインデックスの組み合わせを試しました。しかし、私はそれが1つのテーブルのためにあまりにも多くだと思う。
範囲条件を使用するクエリの1つは、通常、データベースを殺すものです。
あなたの経験から、このテーブルを複数のテーブル(各アカウントに1つ)に分割する方が良いでしょうか?各アカウントにはすでに独自のデータベースがあるため、このためにソフトウェアを変更することは困難ではありません。
これは、5k行の小さなアカウントの場合、これが私たちの問題を解決すると思うでしょう。