タグ

MySQLとpartitionに関するbasiのブックマーク (2)

  • パーティショニングの使用例 - http session情報

    今日もパーティショニングの話の続きである。 パーティショニングが非常にフィットする(たぶん昨日の例よりも)もう一つのケースは、数日間だけ必要なデータを蓄えておくような場合だ。例えば、HTTPセッションやログ情報などが良い例ではないだろうか。そういう場合には、日付を使ってRANGEパーティショニングをするのである。RANGEパーティショニングでももちろんPruningによって性能の向上は出来るのだが、それよりも何よりも高速に不要なパーティションを破棄できるというのが大きい。パーティションの破棄は、内部的にはテーブルのDROPとほぼ同じ扱いなのである。DROPのスピードはストレージエンジンによるが、InnoDBやMyISAM、NDBMySQL Cluster)ならばいくらデータを含んでいても関係なくDROPは一瞬である。テーブルから大量の行を削除すると、フラグメンテーションが発生したり、イン

    パーティショニングの使用例 - http session情報
  • Range Partitioning と日付型の選び方 - 日向夏特殊応援部隊

    だいぶ前に身を持って知った訳ですが、どう見ても BK なのでここに書いておきますよと。 型 データサイズ 日付演算 1日未満の分割 刈り込み (pruning) datetime 8 byte ○ × ○ timestamp 4 byte ○ ○ × uint(10) 4 byte × ○ ○ 1日未満の分割が必要無く、データサイズもへっちゃらと言う御仁は datetime を、日付演算なんぞ要らんという方は uint(10) がお勧め。timestamp は pruning が効かないのが泣けるです。

    Range Partitioning と日付型の選び方 - 日向夏特殊応援部隊
  • 1