たこぼんげブログ

大学院博士課程から脱落してWEB業界に就職しました。

SQLアンチパターンまとめ

SQLアンチパターン読みました。
よく分からんとこも多かったけど、とりあえずこうしとけっていう自分なりのまとめ。

ワイルドカードは使わない
 SELECTとかでレコード取ってくる時は、必要なカラム名だけ(たとえ全部でも)を列挙する。

・画像はファイルじゃなくてBLOB型で管理
 管理が楽ちん

・精度の問題から出来る限りFROATは使わない
 NUMERICとかDECIMALを使いましょう。

・今後内容が変わる可能性のあるときはENUMはやめとけ
 別テーブル作って外部キー作る

・NULLを好きになろう
 それでもできるだけNOT NULLにする。

・簡潔なクエリを複数書きましょう。
 UNIONってのがあるよ。

・別に問題でないなら欠番は受け入れよう。

・idのカラム名は「table名_id」にしとこ。

・インデックスの管理
 MENTORの原則

・検索は別ツールを使う
 自分で頑張るな

・「GROUP BY」ってのがある。
 上手に使いましょう。

・ランダムにレコードを取ってきたい時はシステム側で頑張る

・ツリー構造のモデル
 ・ 経路列挙
 ・ 入れ子集合
 ・ 閉包テーブル

なかなかの良書でした。
Amazon.co.jp: SQLアンチパターン: Bill Karwin, 和田 卓人(監訳), 和田 省二(監訳), 児島 修: 本