業務で論理削除、物理削除、削除フラグという言葉を初めて聞き疑問に思ったのでまとめました。
・論理削除=データは記憶媒体に残ったままで削除されたことをデータとして表現する。
(メリット)
・残しておくので謝って削除した場合や、過去のデータを確認したいときにすぐに復元できる。
(デメリット)
・where句で削除フラグを付け忘れなどでバグが発生する原因になる
・データ量が増えるのでサーバーに負担がかかる。
・物理削除=ハードティスクからデータ自体を削除する。
(メリット)
・データ自体を削除するのでサーバに負担がかからない。。
(デメリット)
・1度削除してしまったら復元できない。
・論理削除の例
product テーブル
商品ID | 商品名 | 価格 | 論理削除フラグ |
---|---|---|---|
1 | みかん | 60 | false |
2 | りんご | 150 | false |
3 | バナナ | 140 | true |
select product_name,price
from products
where is_deleted = false;
(説明)
検索条件に論理削除フラグをfalseにすることで、論理削除されたデータ(is_deleted=true)は
表示されなくなる。
*削除フラグは
trueやfalse。
0か1 で表現される場合がある。