在sql查询结果之前检查文件是否存在

时间:2016-02-10 06:46:25

标签: sql sql-server

我有一个带管理面板的网站,人们可以上传文件和数据。我的网站位于 2台服务器并使用nlb,并且两台服务器同步与dfs,我在两台服务器上都有 2台SQL Server 他们也同步了。

问题是有时同步两台服务器上的文件, 现在想象一下我有一个包含这些字段的表:

Name, price, fileName

文件地址指向在2台服务器中同步的物理磁盘的某处。

现在假设网站运行此查询:

Select * from myTable

如何告诉SQL只显示物理磁盘中存在fileName字段的记录?

注意:我希望它使用SQL,而不是在我的应用程序中。

1 个答案:

答案 0 :(得分:2)

有两种选择:

  1. 你已经提到过了。添加一个列(FileExists位(Y / N))可以直接告诉您物理副本的状态。

  2. 第二个选项很繁琐,因为你需要创建自定义逻辑,根据@MichałKomorowski给出的第一个注释链接在运行时识别物理副本。

  3. 理想情况下,数据库用于存储数据并与应用程序通信。数据库中的外部世界接口将是繁琐的工作并且会降低性能。

    例如,如果您实现了一个检查物理文件的功能,并且如上所述选择查询,那么您使用了该功能,因此检查状态会让人头疼,这肯定会增加时间和性能。再想一想。