有很多时候我想把图片保存到SQL Server。我阅读了一些保存图像的做法:
1)上传并将图像保存到服务器,将路径保存在表中
2)保存图像为二进制文件
3)将图像保存为base64字符串
4)使用BLOB(我没有研究它的工作原理)
你知道从服务器请求图像时哪种方式更快吗? 你知道哪种方式更好,不会使SQL Server变慢吗? 你知道还有其他更好的方法吗?
谢谢!
有很多时候我想把图片保存到SQL Server。我阅读了一些保存图像的做法:
1)上传并将图像保存到服务器,将路径保存在表中
2)保存图像为二进制文件
3)将图像保存为base64字符串
4)使用BLOB(我没有研究它的工作原理)
你知道从服务器请求图像时哪种方式更快吗? 你知道哪种方式更好,不会使SQL Server变慢吗? 你知道还有其他更好的方法吗?
谢谢!
微软公司已经 对此进行了一些研究,并得出结论,这取决于您的图像大小。如果大多数图像小于256Kb,则应该使用VARBINARY。另一方面,如果它们超过1Mb,则应该使用FILESTREAM(通常存储在数据库文件之外的文件系统中)。
如果您的图像与其他数据链接在一起,将记录本身与图像分开放入不同的表格(即创建一个Images表格)通常是有用的,以便数据表格保持小巧且易于操作。