- 2009/8/21 金曜日 2:35:14
- MySQL | osCommerce
注文管理関連のテーブルは、何年もサイトを運営していると何十万件というデータが保存されることになる。1つのテーブルに大量のデータが保管されると、新規データの登録時に時間がかかる。そこで、テーブルを分割するというアイデアが浮かんでくるが、テーブルの分割をプログラム側で対応すると、手間がかかりすぎるし、切り替え時にサーバを止めるタイミングも難しい。
実は、MySQLにはこのような状況に対応するためのMERGEテーブルというものがある。データが多くなったらMERGEテーブルとUNIONで既存のテーブルと新規のテーブルを1つのテーブルとして扱うようにすればいい。検索を実行するときは新旧テーブル全体を対象にして、データを登録するときは新しいテーブルを対象にできるなど、非常に都合がいい。テーブルの作り方を工夫すると連番も前のテーブルを自動的に引き継ぐのでさらに安心だ。
お客様のサーバで複数のテーブルを分割したが、osCommerceを稼働させたまま瞬時に作業を終わることができた。
ただし、準備に時間はかかった。
http://dev.mysql.com/doc/refman/4.1/ja/merge.html
Related posts:
- MySQL5.5.16の起動エラーとyum update 管理しているサーバのMySQLが停止して監視システムからのメールが届き始めた。 思い当たることがなく慌ててサーバに接続して確認してみたが、メモリーが不足したり、アクセスが過大になったような形跡はなかった。MySQLを再起 [...]...
- 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 テーブル分割 - 永田順伸のブログ より
