使用MySQL插入图像的最佳方式?

问题描述 投票:-2回答:3

我将为在线商店创建MySQL数据库。这家商店有大约3000种产品。每个产品有5张照片。我为products(product_id, product_name)images表创建了表(image_id, Image_details, Product_id)

插入照片的最佳方式是什么? *我使用C#(桌面应用程序)作为GUI

c# mysql
3个回答
2
投票

虽然,使用BLOB对象可以实现这一点,但这不是首选方式。您必须存储图像的位置(类似于其他大文件),当查询结果转动时,使用该位置访问图像。

请记住,您的图像会随着时间的推移而增加,因此,在实践中,我们应用目录层次结构,通常两个就足够了。可以使用图像名称的前两个字母,但是,这将是不平衡的目录结构。更好的想法是使用基于散列的随机化将文件均匀地分布在子目录上。一个例子(在Java中)可以找到here


1
投票

不要将图像保存在数据库中,这不是最好的方法。保存表格中与产品相关的图像的路径。


1
投票

使用云Blob存储或文件系统而不是保存在关系数据库中。由于性能,备份和可维护性,建议不要在数据库中存储大量图像> 1mb。

但是,如果你有一个小应用程序,并且非常确定这样做,你可以将图像转换为字节数组并保存在MySQL BLOB字段中。请查看以下链接以获取样本:

C# saving images to MySql database as blob

校验:

Should I store my images in the database or folders?

How can I save an Image to the File System?

https://docs.microsoft.com/pt-br/azure/storage/blobs/storage-quickstart-blobs-dotnet?tabs=windows

https://www.c-sharpcorner.com/article/azure-storage-crud-operations-in-mvc-using-c-sharp-part-two/

© www.soinside.com 2019 - 2024. All rights reserved.