C# 使用MySQL插入图像的最佳方法?
我将为在线商店创建MySQL数据库。这家商店大约有3000种产品。每个产品有5张照片。 我为C# 使用MySQL插入图像的最佳方法?,c#,mysql,C#,Mysql,我将为在线商店创建MySQL数据库。这家商店大约有3000种产品。每个产品有5张照片。 我为产品创建了表表(产品id、产品名称)和图像表(图像id、图像详细信息、产品id) 插入照片的最佳方式是什么? *我正在使用C#(桌面应用程序)作为GUI不要将图像保存在数据库中,这不是最好的方法。保存表中与产品相关的映像的路径。使用cloud Blob存储或文件系统,而不是保存在关系数据库中。由于性能、备份和可维护性,建议不要在数据库中存储大量大于1mb的图像 不过,如果您有一个小应用程序,并且确实确定要
产品创建了表表(产品id、产品名称)
和图像表(图像id、图像详细信息、产品id)
插入照片的最佳方式是什么?
*我正在使用C#(桌面应用程序)作为GUI不要将图像保存在数据库中,这不是最好的方法。保存表中与产品相关的映像的路径。使用cloud Blob存储或文件系统,而不是保存在关系数据库中。由于性能、备份和可维护性,建议不要在数据库中存储大量大于1mb的图像
不过,如果您有一个小应用程序,并且确实确定要这样做,您可以将图像转换为字节数组并保存在MySQL BLOB字段中。查看下面的链接以获取示例:
检查:
尽管使用BLOB对象可以实现这一点,但这不是首选方法。您必须存储图像的位置(类似于其他大型文件),当查询结果打开时,使用该位置访问图像
请记住,您的图像会随着时间的推移而增加,因此,在实践中,我们应用一个目录层次结构,通常两个就足够了。可以使用图像名称的前两个字母,但是,这将是不平衡的目录结构。更好的方法是使用基于散列的随机化将文件均匀地分布在子目录上。可以找到一个例子(Java)。最好的方法是不要这样做,关系数据库不能很好地处理大型二进制附件,它们会使备份复杂化,而且由于系统必须导航到多少层才能获取和返回图像数据,所以一开始效率很低。使用文件系统或对象存储,并引用存储在数据库中的映像。谢谢。你能写更多的细节吗?这取决于你使用的服务器端。客户端基本上是不相关的。我将把URL保存在Images表中。但是图像呢?我将把我的数据库放在托管公司。你可以通过上传将它们保存在你的托管服务器上。或者使用第三方云服务,如亚马逊,甚至像谷歌照片。。。