なみひらブログ

学んだことを日々記録する。~ since 2012/06/24 ~

INSERT処理を高速にするための心構え

本文は以下の文献を参考にしました。

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

----------------------------------------------------

INSERT処理を高速にするための心構えは以下のとおりです。

  • テーブルを日時別に分ける(レンジ・パーティショニング)。
  • 古いデータを削除するか別のサーバに移す。
  • 無駄なインデックスを作らない。
  • 無駄な列を作らない。
  • スペース効率の良いデータ型を使う。
  • 大容量メモリを搭載する。

 

INSERT処理の感覚的数値は以下のとおりです。

【メモリへの処理】

  • 10,000~15,000件/秒

【ディスクへの処理】

MyISAM(INSERTの最適化が不十分なデータベース)

  • 100~900件/秒

InnoDB(Insert Bufferingによる最適化)

  • 2,000~4,000件/秒

HDDからSSDに変更

  • 5,000件/秒