新品価格 |
[書評]SQLアンチパターン7章を読んだ
の続編
8章は、メタデータ大増殖。
本章も役に立ちました。
以下、内容
・DBにはチェック関数がある。
こいつで0以上にする等の制約がはれるらしい。
ただし、mysqlにはない
http://www.dbonline.jp/sqlite/table/index13.html
データ量が増え続けたらどうなるか
という話で本章は進む
・テーブルの量を増やす
アンチパターンとして
テーブルを年度区切りで多数作る例が載ってた。
その場合のデメリットは以下。
データの日付変えるなら別テーブルにデータを移動する必要がある
主キーを別テーブルで使っているなら主キーの移動問題がある。
テーブルをまたいだクエリの実行もある。
・アンチパターンを使っても良い場合
バックアップならあり
・解決策1
partitionを使うと
DNの機能でシャーディングできる
mysqlなら5.1から使える機能。
何をキーにして分けるかは指定できる
・解決策2
別テーブルでBLOBやTEXTを定義してjoinさせる
ただし、BLOBとかあるときのみだし、
パフォーマンスの改善は小幅の可能性はある
・解決策3
[書評]SQLアンチパターン7章を読んだ
を使う
本章も大変ためになりました。
レコードが増えてくると大変ですよね
続く
タグ:SQL