ホーム > MySQL | osCommerce > osCommerceを軽快に2 テーブル分割

osCommerceを軽快に2 テーブル分割

注文管理関連のテーブルは、何年もサイトを運営していると何十万件というデータが保存されることになる。1つのテーブルに大量のデータが保管されると、新規データの登録時に時間がかかる。そこで、テーブルを分割するというアイデアが浮かんでくるが、テーブルの分割をプログラム側で対応すると、手間がかかりすぎるし、切り替え時にサーバを止めるタイミングも難しい。

実は、MySQLにはこのような状況に対応するためのMERGEテーブルというものがある。データが多くなったらMERGEテーブルとUNIONで既存のテーブルと新規のテーブルを1つのテーブルとして扱うようにすればいい。検索を実行するときは新旧テーブル全体を対象にして、データを登録するときは新しいテーブルを対象にできるなど、非常に都合がいい。テーブルの作り方を工夫すると連番も前のテーブルを自動的に引き継ぐのでさらに安心だ。

お客様のサーバで複数のテーブルを分割したが、osCommerceを稼働させたまま瞬時に作業を終わることができた。
ただし、準備に時間はかかった。

http://dev.mysql.com/doc/refman/4.1/ja/merge.html

Related posts:

  1. MySQL5.5.16の起動エラーとyum update 管理しているサーバのMySQLが停止して監視システムからのメールが届き始めた。 思い当たることがなく慌ててサーバに接続して確認してみたが、メモリーが不足したり、アクセスが過大になったような形跡はなかった。MySQLを再起 [...]...
  2. osCommerceを軽快に1 複合インデックス osCommerceやZen Cartのバージョンによっては注文関連のテーブルにインデックスを設定するとパフォーマンスが改善される。 ただし、丁寧にすべてのカラムごとに1つのインデックスを設定すると、インデックスが効果的 [...]...

コメント:0

コメントを投稿するにはログインしてください。

トラックバック:0

この記事のトラックバック URL
http://www.ynagata.com/2009/08/21/oscommerce%e3%82%92%e8%bb%bd%e5%bf%ab%e3%81%ab%ef%bc%92%e3%80%80%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e5%88%86%e5%89%b2/trackback/
トラックバックの送信元リスト
osCommerceを軽快に2 テーブル分割 - 永田順伸のブログ より

ホーム > MySQL | osCommerce > osCommerceを軽快に2 テーブル分割

フィード
メタ情報

ページの上部に戻る