如果有大量支票,哪个更有效?
bool exists=File.Exists(file);
或
bool exists= check db list of existing files;
答案 0 :(得分:3)
当然是第二个,因为像这样的系统调用很昂贵。最好使用集合目录列表功能,并在没有文件系统注意的情况下检查内存中是否存在文件。
答案 1 :(得分:2)
取决于。
如果要检查文件是否存在,则别无选择,只能检查文件系统。是的,这可能比db调用慢。 Db调用仍然是远程进程间调用,因此本身就很昂贵。
答案是尝试同时,分析和优化以获得针对特定场景的最佳答案。
答案 2 :(得分:1)
如果在数据库中写入文件的路径,则比File.Exists请求它的速度快,具体取决于文件的数量。如果你只要求一个,它不是一个很大的差异。但是如果你检查更多的文件,数据库请求会更快,我想你会通过数据库得到文件的路径,对吗?