SQLアンチパターンⅡ部のまとめメモです。
自分用にざっくりアンチパターンと解決策だけまとめるので、気になった方はぜひ書籍を読んでみてください。
アンチパターン:FLOATデータ型を使用する
丸め誤差が生じてしまうため、小数値のデータ型が必要な場合にFLOATデータ型を選択しない。
NUMERICデータ型を使用すること。
アンチパターン:限定する値を列定義で指定する
ENUMやCHECK制約のように列の取りうる値を指定されたセットの中に制限することはしない。
参照するためのテーブルを作成し、許可する値をレコードとして登録すること。
アンチパターン:物理ファイルの使用を必須と思い込む
画像をファイルシステムにファイルとして格納し、ファイルパスをVARCHARとしてデータベースに格納しない。
BLOBデータ型を使用し、画像データをデータベースに格納すること。
アンチパターン:闇雲にインデックスを使用する
インデックスを全く定義しなかったり、役立たないインデックスを定義したりしない。
MENTORの原則に基づいて効果的なインデックス管理を行う。
- M - Measure(測定)
- E - Explain(解析)
- N - Nominate(指名)
- T - Test(テスト)
- O - Optimize(最適化)
- R - Rebuild(再構築)