- ベストアンサー
画像の扱いはimage型?パスを記録?
SQL Server 2005のデータをWEB上に表示するPGを作成しています。 そこで、画像の扱いなのですが、image型に画像を登録するのと 画像がある場所をパスとして記録するのとは、 どちらの方がパフォーマンス的に良いでしょうか? 私が調べたところでは、image型に登録するには 画像データをバイナリ変換して処理する必要があるので パスで記録した方が良いと思っています。 もし、実業務では○○といったパターンがあるよ、といった お話もありましたら、回答していただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
データベースに画像を保管する主目的はパフォーマンスの向上、ではないと思います。 ファイルの存在自体もデータベースで管理することによる整合性の確保、もしくは、テーブル保管することによるセキュリティ/障害対策の強化が主目的ではないでしょうか。 (パスだけ管理するということは、そのファイルが本当にあるかないかはデータベースでは管理しないということです) また、対象の画像が数万件以上あるのであれば、フォルダアクセスするよりも早く取り出せる可能性はあると個人的には思います。 SQL Serverの場合、Reporting Serviceなどを使っているとデータベース内の画像をファイルとして取り出すことなくレポートに割りつけられるので、その目的でデータベースに収録することもあります。 私はファイルの存在を含めてデータベースで管理したい派なので、基本的にはデータベースに収録させるようにデザインしますが、レスポンス重視ならばパス管理のアプローチもあるでしょうね。 蛇足ですが、Image型はSQL Server 2005以降では推奨されません。varbinary(MAX)を使います。
お礼
リ0ァ拭]^゛ ケw梦B'エgトxマKヌ(yハ{厰ソ・ヒユカーR・メェ/汢 S逢nツ&|Qォ A・ミオhw