LoginSignup
2
0

More than 5 years have passed since last update.

SQLアンチパターンを読んで

Last updated at Posted at 2018-11-28

1. ジェイウォーク(信号無視)

1つのフィールドにカンマ区切りフォーマットのリストを格納すること。

システム 管理者番号
Aシステム 1,23,456,7890
Bシステム 1,2,3,4,5,6

このようにを一つのフィールドに複数の値を格納することです。

特徴

  • メリット
    • 非正規化による高速化
  • デメリット
    • 検索におけるパターンマッチが必要
    • 他のテーブルとの結合が困難
    • COUNTなどの集約クエリを使用できない
    • 型のサイズが入力最大数となる
    • リストの一部を特定して更新する必要がある
    • 区切り文字は使用できない
    • 型違いのデータをはじけない

対策

テーブル1つ追加して多対多を解消する。
1フィールド1要素で構成できるような設計にすること。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0