回答編集履歴

4

2017/04/25 07:16

投稿

moke
moke

スコア2241

test CHANGED
File without changes

3

2017/04/25 07:16

投稿

moke
moke

スコア2241

test CHANGED
@@ -50,11 +50,9 @@
50
50
 
51
51
  2つ目は
52
52
 
53
- 画像の差し替え、更新、取得に際して、active_recordだけでは不可能で、ハードコーディング(SQLを直打ち)する必要がある。
53
+ - 画像の差し替え、更新、取得に際して、active_recordだけでは不可能で、ハードコーディング(SQLを直打ち)する必要がある。
54
54
 
55
- そもそも、active_recordは構造上モデルのDataBaseのfieldを一旦、全て取得するので
56
-
57
- 取得時にそれをメモリ上に展開して、処理を行うと、userに関わる全てのactive_recordでとんでもない遅延が発生する。
55
+ - そもそも、active_recordは構造上モデルのDataBaseのfieldを一旦、全て取得するので毎回、取得時にそれをメモリ上に展開して、処理を行うと、userに関わる全てのactive_recordでとんでもない遅延が発生する。
58
56
 
59
57
 
60
58
 

2

説明追加

2017/04/25 07:16

投稿

moke
moke

スコア2241

test CHANGED
@@ -30,4 +30,38 @@
30
30
 
31
31
 
32
32
 
33
- 理由を説明して欲しかったら、コメントください。
33
+ 理由を説明しますと
34
+
35
+
36
+
37
+ 1つ目に関しては
38
+
39
+ - 画像のバイナリデータの内部を検索することはないので、DBに入れる意味は薄い
40
+
41
+ - OSのファイル管理自体が、かなり効率のいいファイルDBになっておりfilepathだけ格納しても遅延はそこまで発生しない。
42
+
43
+ - DBをバックアップするときに、画像データのバイナリをいちいち保存しなくてはいけないのでバックアップファイルが巨大になりかつ時間もかかる。
44
+
45
+ - バイナリデータは拡張子を保存しないので、拡張子を別に保存するか、画像に変換時に、推定しなくてはいけない。
46
+
47
+ などです。
48
+
49
+
50
+
51
+ 2つ目は
52
+
53
+ 画像の差し替え、更新、取得に際して、active_recordだけでは不可能で、ハードコーディング(SQLを直打ち)する必要がある。
54
+
55
+ そもそも、active_recordは構造上モデルのDataBaseのfieldを一旦、全て取得するので
56
+
57
+ 枚取得時にそれをメモリ上に展開して、処理を行うと、userに関わる全てのactive_recordでとんでもない遅延が発生する。
58
+
59
+
60
+
61
+ ですかね
62
+
63
+ 特に最後は重要です。
64
+
65
+
66
+
67
+

1

説明追加

2017/04/25 07:13

投稿

moke
moke

スコア2241

test CHANGED
File without changes