-1

送信者と受信者のデータを保存する chat_log テーブルがあります。構造は

SENDER RECEIVER DATE  

現在の実装: 毎月、1 月に行われたすべてのチャットを格納する JAN、2 月に行われたすべてのチャットを格納する FEB などの MyIsam テーブルを作成します。

chat_log3 月 31 日に、複数のチャット テーブル JAN、FEB、MAR を含むマージ テーブルがあるとします。

4 月 1 日に、定義を FEB MARCH AND APRIL に変更する必要があります。

ここでテーブルをマージするのが最適です。問題は、ユーザーがエントリを削除するたびに、そのエントリをテーブルから削除する必要があることです。テーブルは myisam をマージしているため、これは非常にゆっくりと発生しています。

だから私は何をすべきか:

  1. 私はinnodbを選択するかもしれませんが、それはより高速ですが、IDはマージテーブルをサポートしていないため、定義を最初に変更するたびに困難になります。
  2. マージでパーティショニングを使用しても、それほど役に立ちません。
4

1 に答える 1

1

MERGE ストレージ エンジンではなく、パーティションを使用する必要があると思います。

適切なパーティショニング タイプはRANGEのようです。

于 2013-05-24T20:23:06.897 に答える