在 MySQL 中存储一系列图像的最佳方式是什么?

Seb*_*ael 3 mysql image relational-database

我一直在为我的网站开发 SQL 模型,对于如何将这些图像存储在我的数据库中以便在网站上使用,我真的很矛盾。

首先,每个配置文件总共包含 10 张相关图像。4 张屏幕截图,带有缩略图,以及两张额外的图像。这些图像将在网站各处使用。

将每个图像的图像路径存储在其自己的列中可以吗?一个朋友告诉我,我应该将所有图像放在它自己的表中并交叉引用它们以获得更好的性能。不过,我将与图像本身同时调用配置文件中的各种信息。

我只是想知道这样的事情的常见做法是什么。

再说一遍,我没有将实际图像存储在数据库中 - 只是图像路径。

Nav*_*eed 5

将图像存储在文件系统上并将路径存储在数据库中。

如果配置文件有超过 1 个图像,则为图像创建一个单独的表。

简介表:

id | name | etc | etc
---------------------
1  | abc  | etc | etc
2  | xyz  | etc | etc
Run Code Online (Sandbox Code Playgroud)

图片表:

id | profile_id |     image_url     | image_type
-------------------------------------------------
 1 |     1      | images/image1.jpg | screenshot
 2 |     1      | images/image2.jpg | other
 3 |     2      | images/image3.jpg | screenshot 
Run Code Online (Sandbox Code Playgroud)

现在您可以创建不同的函数来获取特定配置文件的图像。例如:

getProfileImages( profile_id, image_type=NULL ) {
  // run query by joining profiles and images tables.
  // return images paths
}
Run Code Online (Sandbox Code Playgroud)