2

時間関連のデータを含むデータベースがあります。ご想像のとおり、時間の経過とともに成長 (および減速) します。現在 (今月) のデータには 50% の読み取り、25% の挿入、25% の更新アクションがあり、古いデータの読み取りは 100% です。

  • 良いことに、古いデータの重要性も低くなります。
  • 悪い点は、現在から昨年までの期間全体を照会する必要がある場合があることです。

今、古いデータよりも新しいデータをより速く提供する mysql アーキテクチャが必要です。

mysqlでそれを行う方法はありますか?


post scriptum: もちろん、アプリケーション層で ruby​​ on rails とアクティブ レコードを使用しているので、アクティブ レコードの基本クラスを簡単に書き換えて、複数のテーブルにアクセスし、古いデータを別のテーブルに移動することができます。しかし、レポートなどの他のシステムからクエリを読み取ったため、古いデータと新しいデータにアクセスできる必要があり、場合によっては同時に両方にアクセスできるため、mysql で解決したいと考えています。

4

2 に答える 2

3

MySQL のパーティショニングは、まさにあなたのために作られました。5.1 である必要があります。

于 2009-10-08T16:51:51.367 に答える
1

テーブルを (少なくとも) 2 つのテーブルに分割し、現在のデータを一方に保存し、アーカイブ データを他方に保存します。次に、MySql ビューを使用して、すべてのデータが必要な場合に使用できる「仮想」テーブルを作成します。それ以外の場合は、実際のテーブルを使用して必要なデータに直接アクセスします。

于 2009-10-08T16:55:54.040 に答える