C# 我是否应该直接检查';如果文件存在';还是检查db列?

C# 我是否应该直接检查';如果文件存在';还是检查db列?,c#,performance,C#,Performance,如果有许多检查,哪一个更有效 bool exists=File.Exists(file); 或 当然是第二个,因为像这样的系统调用很昂贵。最好使用collective directory list函数,检查内存中是否存在文件,而不必注意文件系统。当然是第二个,因为像这样的系统调用代价很高。最好使用集合目录列表功能,检查内存中是否存在文件,而不必注意文件系统。如果在数据库中写入文件路径,则比按file.Exists请求要快得多,具体取决于文件的数量。如果你只要求一个,那不是很大的区别。但是如果你

如果有许多检查,哪一个更有效

bool exists=File.Exists(file);


当然是第二个,因为像这样的系统调用很昂贵。最好使用collective directory list函数,检查内存中是否存在文件,而不必注意文件系统。

当然是第二个,因为像这样的系统调用代价很高。最好使用集合目录列表功能,检查内存中是否存在文件,而不必注意文件系统。

如果在数据库中写入文件路径,则比按file.Exists请求要快得多,具体取决于文件的数量。如果你只要求一个,那不是很大的区别。但是如果你检查更多的文件,一个数据库请求会更快,我想你会按数据库获取文件的路径,对吗?

如果你在数据库中写入文件的路径,它比按文件请求要快得多。存在,取决于文件的数量。如果你只要求一个,那不是很大的区别。但是如果你检查更多的文件,一个数据库请求会更快,我想你会通过数据库获得文件的路径,对吗?

这取决于情况

如果要检查文件是否存在,除了检查文件系统之外别无选择。是的,这可能比db调用慢。不过,Db调用仍然是远程进程间调用,因此其本身可能会很昂贵

答案是同时尝试、分析和优化,以获得适合您特定场景的最佳答案。

视情况而定

如果要检查文件是否存在,除了检查文件系统之外别无选择。是的,这可能比db调用慢。不过,Db调用仍然是远程进程间调用,因此其本身可能会很昂贵


答案是同时尝试、分析和优化,为您的特定场景找到最佳答案。

这还不是很清楚。根据
File.Exists()
的语法和大小写,检查使用什么语言?在我看来像C。Java应该是小写的,这还不是很清楚。根据
File.Exists()
的语法和大小写,检查使用什么语言?在我看来像C。Java应该是小写的,他没有说它在内存中。他说是db电话。因为这是一个远程呼叫,所以可能不会更快。我建议他两种方法都试一下,分析/衡量性能,看看哪一种更适合他的需要。从算法复杂度的角度考虑。当检查每个文件是否为O(n)时,一次检查所有文件是常数时间操作或O(1)。在这两种情况下,你都需要记忆中的O(n),他没有说这是记忆中的。他说是db电话。因为这是一个远程呼叫,所以可能不会更快。我建议他两种方法都试一下,分析/衡量性能,看看哪一种更适合他的需要。从算法复杂度的角度考虑。当检查每个文件是否为O(n)时,一次检查所有文件是常数时间操作或O(1)。在这两种情况下,都需要内存中的O(n)。
bool exists= check db list of existing files;