画像データを扱うとき、パス情報だけを MySQL に格納し、画像データ自体はファイルシステムや AWS S3 などに直接置くのが一般的です。なぜなら画像データは巨大で MySQL で扱うのには重いからです。かつてはコンピュータのリソースが貧弱でしたのでこの設計は適切だったと思うのですが、近年コンピュータは圧倒的に高性能になりました。もしかしたら現代のコンピュータなら画像データを MySQL で扱うことも出来るかもしれないと思い試してみました。 なぜ MySQL で画像データを扱いたいかというと、ひとえに ACID 特性のためです。画像データ処理もトランザクションに含めてしまうことができれば、画像データを含めて不整合のないデータを実現できます。迷子の画像データのことを考えなくて済むわけです。バックアップだって、DB ダンプ一発で全部まとめて取れるわけですし。 スキーマ定義とテストデータ こん
![画像データを MySQL に格納するとどうなるか - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/890f0f219cff78532e3ae19e2e499e3b6a06f17b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU3JTk0JUJCJUU1JTgzJThGJUUzJTgzJTg3JUUzJTgzJUJDJUUzJTgyJUJGJUUzJTgyJTkyJTIwTXlTUUwlMjAlRTMlODElQUIlRTYlQTAlQkMlRTclQjQlOEQlRTMlODElOTklRTMlODIlOEIlRTMlODElQTglRTMlODElQTklRTMlODElODYlRTMlODElQUElRTMlODIlOEIlRTMlODElOEImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE5ZWQ3ZjRhMmQ1MTM4ZTgwYjY5ZmMzMjA5OTllY2Y1%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzYW95YWdpMiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTliMTUxMzljYTE5ZDA1NDI5OTllMWJkZjFkYTQzMmI%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D103f2dd07470c8ee7b20795f21ad7984)