我将为在线商店创建mysql数据库。这家商店有大约3000种产品。每个产品有5张照片。我为他创建了表格 products 表 (product_id, product_name) 以及 images 表 (image_id, Image_details, Product_id) 插入照片的最佳方式是什么*我正在使用c#(桌面应用程序)作为gui
products
(product_id, product_name)
images
(image_id, Image_details, Product_id)
mbskvtky1#
尽管使用blob对象可以实现这一点,但这不是首选方法。您必须存储图像的位置(类似于其他大型文件),当查询结果打开时,使用该位置访问图像。请记住,您的图像会随着时间的推移而增加,因此,在实践中,我们应用一个目录层次结构,通常两个就足够了。一个可以使用前两个字母的图像名称,但是,这将是不平衡的目录结构。更好的方法是使用基于哈希的随机化将文件均匀地分布在子目录上。在这里可以找到一个例子(java)。
kjthegm62#
使用云blob存储或文件系统,而不是保存在关系数据库中。由于性能、备份和可维护性,不建议在数据库中存储大量大于1mb的图像。但是,如果你有一个小应用程序,并且确实确定要这样做,你可以将你的图像转换成字节数组,并保存在mysql blob字段中。请查看以下链接以获取示例:c#将图像作为blob保存到mysql数据库支票:我应该将图像存储在数据库或文件夹中吗?如何将图像保存到文件系统?https://docs.microsoft.com/pt-br/azure/storage/blobs/storage-quickstart-blobs-dotnet?tabs=windowshttps://www.c-sharpcorner.com/article/azure-storage-crud-operations-in-mvc-using-c-sharp-part-two/
up9lanfz3#
不要把你的图像保存在数据库里,这不是最好的方法。保存表中与产品相关的图像的路径。
3条答案
按热度按时间mbskvtky1#
尽管使用blob对象可以实现这一点,但这不是首选方法。您必须存储图像的位置(类似于其他大型文件),当查询结果打开时,使用该位置访问图像。
请记住,您的图像会随着时间的推移而增加,因此,在实践中,我们应用一个目录层次结构,通常两个就足够了。一个可以使用前两个字母的图像名称,但是,这将是不平衡的目录结构。更好的方法是使用基于哈希的随机化将文件均匀地分布在子目录上。在这里可以找到一个例子(java)。
kjthegm62#
使用云blob存储或文件系统,而不是保存在关系数据库中。由于性能、备份和可维护性,不建议在数据库中存储大量大于1mb的图像。
但是,如果你有一个小应用程序,并且确实确定要这样做,你可以将你的图像转换成字节数组,并保存在mysql blob字段中。请查看以下链接以获取示例:
c#将图像作为blob保存到mysql数据库
支票:
我应该将图像存储在数据库或文件夹中吗?
如何将图像保存到文件系统?
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/
up9lanfz3#
不要把你的图像保存在数据库里,这不是最好的方法。保存表中与产品相关的图像的路径。