C# 检查文件是否存在:存储在db中的URL与检查文件系统

C# 检查文件是否存在:存储在db中的URL与检查文件系统,c#,sql,asp.net,C#,Sql,Asp.net,我需要在ASP.NET网站上打印每个订单的图像。 部分图像托管在外部服务器(云)上,其他部分托管在同一服务器上。 有一个很大的订单文件夹,每个订单在这个大文件夹中都有自己的文件夹。 /订单/订单号/ 当用户加载页面时,我有2个选项,用于检查图像是否存在并可以加载: 通过在sql表中保存文件每个路径的url,如果url存在,我就可以调用它。 -这将使我的数据库表保存大量的url字符串。 或者,我可以避免在数据库中保存任何内容,每次加载页面都要检查文件夹中是否存在文件 使用sql URL并保存所有U

我需要在ASP.NET网站上打印每个订单的图像。 部分图像托管在外部服务器(云)上,其他部分托管在同一服务器上。 有一个很大的订单文件夹,每个订单在这个大文件夹中都有自己的文件夹。 /订单/订单号/

当用户加载页面时,我有2个选项,用于检查图像是否存在并可以加载: 通过在sql表中保存文件每个路径的url,如果url存在,我就可以调用它。 -这将使我的数据库表保存大量的url字符串。 或者,我可以避免在数据库中保存任何内容,每次加载页面都要检查文件夹中是否存在文件


使用sql URL并保存所有URL或每个页面加载以检查文件夹中是否存在文件的最快加载时间和最小资源(cpu和ram)消耗解决方案是什么?

根据您在DB中设置索引的方式,DB可能会更快,因为它是为快速查找而构建的。但是,如果仍然将文件存储在磁盘上而不是数据库中,则还必须验证文件是否存在于数据库提供的位置。因此,如果您不将图像存储在db中,我认为db不值得选择。此外,如果机器有一个SSD,我认为性能将足够快。如果您的解决方案具有广泛的(地理)覆盖范围,您还可以调查存储在磁盘上的CDN.文件。不在sql中,将来文件将全部存储在外部主机云服务上,而不是本地服务器上。可能还取决于它们存在的频率。但是从数据库中读取URL的时间应该很短,因此您不必担心。根据您在数据库中设置索引的方式,数据库可能会更快,因为它是为快速查找而构建的。但是,如果仍然将文件存储在磁盘上而不是数据库中,则还必须验证文件是否存在于数据库提供的位置。因此,如果您不将图像存储在db中,我认为db不值得选择。此外,如果机器有一个SSD,我认为性能将足够快。如果您的解决方案具有广泛的(地理)覆盖范围,您还可以调查存储在磁盘上的CDN.文件。不在sql中,将来文件将全部存储在外部主机云服务上,而不是本地服务器上。可能还取决于它们存在的频率。但是从数据库中读取URL的时间应该非常少,所以您不必担心它。