我需要在服务器上存储二进制数据 - 每个项目大约 2K 。我之前从未在sql server中使用过varbinary类型。我正在考虑两种选择:
我意识到在第一个选项中,数据库上的负载是最小的。但是,需要考虑文件IO。
与DB交互的应用程序是.NET RESTFull WebAPI(c#)。目标表中的总行数为4-5千。
在这种情况下,最佳做法是什么?
答案 0 :(得分:5)
使用varbinary并将其存储在数据库中更简单。简单的SQL语句将检索和存储数据。如果你有一个没有要求的应用程序,行数很少(行数少于100k),我会使用这种策略。
现在,如果你真的进入了性能,你可以在其中花费(更多)编程工作。您可以将二进制数据存储为文件系统中的文件,但是您会发现一些问题:
当您想要优化时,使用文件是值得的,但是在开发过程中以及在支持和维护期间,它需要做更多的工作。