質問編集履歴
2
edit
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,21 +18,23 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
|
21
|
+
■親テーブル
|
22
22
|
|
23
|
-
- 商品
|
23
|
+
- 商品
|
24
24
|
|
25
|
-
- 子テーブル
|
26
25
|
|
27
|
-
- 注文詳細
|
28
26
|
|
29
|
-
|
27
|
+
■子テーブル
|
30
28
|
|
31
|
-
-
|
29
|
+
- 注文詳細
|
32
30
|
|
33
|
-
- 商品
|
31
|
+
- 商品画像
|
34
32
|
|
33
|
+
- 商品バリエーション
|
34
|
+
|
35
|
+
- 商品レビュー
|
36
|
+
|
35
|
-
- お気に入り商品
|
37
|
+
- お気に入り商品
|
36
38
|
|
37
39
|
・
|
38
40
|
|
1
tag edit
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
例えばECサイトで、登録した商品情報を物理削除する場合、どのようにアプリケーションで実装するのがベターでしょうか?
|
15
|
+
例えばECサイトで、登録した商品情報を物理削除する場合、どのようにアプリケーションで実装するのがベターでしょうか?
|
16
16
|
|
17
17
|
下記のように親テーブル(本件の商品テーブル)に紐づく子テーブルが数多く存在する場合、デッドロックや性能面で問題がでてくる思っています。
|
18
18
|
|
@@ -20,19 +20,19 @@
|
|
20
20
|
|
21
21
|
- 親テーブル
|
22
22
|
|
23
|
-
- 商品
|
23
|
+
- 商品
|
24
24
|
|
25
25
|
- 子テーブル
|
26
26
|
|
27
|
-
- 注文詳細
|
27
|
+
- 注文詳細
|
28
28
|
|
29
|
-
- 商品画像
|
29
|
+
- 商品画像
|
30
30
|
|
31
|
-
- 商品バリエーション
|
31
|
+
- 商品バリエーション
|
32
32
|
|
33
|
-
- 商品レビュー
|
33
|
+
- 商品レビュー
|
34
34
|
|
35
|
-
- お気に入り商品
|
35
|
+
- お気に入り商品
|
36
36
|
|
37
37
|
・
|
38
38
|
|
@@ -44,16 +44,16 @@
|
|
44
44
|
|
45
45
|
外部キーを使用している環境であれば、例外をキャッチしてハンドリングするのが一般的だと思いますが、本ケースの場合どうするのがベターなのか知りたいです。
|
46
46
|
|
47
|
-
若輩者の自分の知識の中では、下記の方法しか思いつかなくて困っています。
|
48
47
|
|
49
|
-
0. それぞれのテーブルに対して子行の存在確認すると同時にロックを取得(確認後の挿入を防止するため)
|
50
48
|
|
49
|
+
0. それぞれのテーブルに対して子行の存在確認すると同時にロックを取得(存在しなかった事実確認後のデータ挿入を防止するため)
|
50
|
+
|
51
|
-
0.
|
51
|
+
0. 全テーブルで子行が存在しなければ親行を物理削除、もし1テーブルでも子行が存在してれば論理削除
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
|
55
|
+
という単純な方法しか思いつかないのですが、ベターな方法が御座いましたらご教示いただきたいです。
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
|
59
|
+
よろしくお願いします。
|