【設計】 パフォーマンスをあげることを考える ~DB設計編~


■ テーブルを日時別に分ける

 * DB設計からちゃんと考慮しておかないと非常に困る
 * パーティション機能を使うことも検討
http://blogs.yahoo.co.jp/dk521123/28959371.html

■ 正規化 / 非正規化を考える

 * 色々と議論があるようで、、、
http://itpro.nikkeibp.co.jp/article/NEWS/20051114/224500/
http://ronspace.cocolog-nifty.com/blog/2008/04/post_3fdf.html

非正規化

 * あくまで、「正規化を行った後」で行うもの
https://www.edifist.co.jp/lecture/dbdesign/03_03/02/04.aspx
 * 「過度な正規化」に対して行う
 * 「構築するシステムが更新系か検索系かを判断し、検索を重視する場合は、正規化を戻す作業」である
  => 非正規化されている場合、複数箇所に対して更新しなければならない。
  => 一方、検索、つまり、参照系であれば、上記のようなことはないので。
http://www.t3.rim.or.jp/~buchi/dbtune/sld002.htm