所以我有一个以相册组织的图片库网站,所以存储相册图像的数据库表基本上有这个方案:
album_id | images_link
112 | 1.jpg
112 | 2.jpg
112 | 3.jpg
112 | 4.jpg
112 | 5.jpg
112 | 6.jpg
112 | 7.jpg
112 | 8.jpg
112 | 9.jpg
因此,为了避免超长的数据库表,我想可能将专辑的所有图像存储到一个单元格中,如下所示:
album_id | images_link
112 | 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, 6.jpg, 7.jpg, 8.jpg, 9.jpg
我的意思是数据库大小当然会保持不变,但要读取的行数会大大减少。我将使用explode 函数来拆分并提供每个图像文件链接。这是一个明智的选择吗?我不确定explode 函数是否像获取大型数据库一样占用内存。我想听听你的意见。
看到问题是图像名称不是那么短,images_link 行设置为 27 个字符,因此我设置的每个相册限制为 30 张图片,因此单个单元格预计稍后会达到 810 个字符。我从来没有使用 varchar 来存储这么多字节,在这种情况下使用 VARCHAR 还是 TEXT 更好?我知道 VARCHAR 更快。
先感谢您。