タグ

ブックマーク / qiita.com/kpure (1)

  • 第四章 キーレスエントリ(外部キー嫌い) - Qiita

    # 親行を参照するバグレポートがあるか確認 SELECT bug_id FROM Bugs WHERE reported_by = 1; # 子行がなかったらアカウント親を消すことができる DELETE FROM Accounts WHERE account_id = 1; ・もし、account_id=1の利用者が知らないところで作業をしていて、上記の削除作業中に新しいバグレポートを登録していたら…?親のない不正な子レコードがBugsテーブル上にそのまま残ってしまう! →対処策はBugsテーブルを明示的にロックしながらチェックを行い、アカウント削除後にロックを解除すること。 しかしこの種のロックを必要とするアーキテクチャでは同時接続ユーザーが増え、スケーラビリティ(システムの利用者や負荷の増大に応じて、柔軟に性能や機能を向上させられること)が求められるようになるにつれ、様々な問題に直面し

    第四章 キーレスエントリ(外部キー嫌い) - Qiita
  • 1