Joh*_*ski 3 c# comparison file-io kentico
我们使用的称为Kentico的CMS在文件系统上存储媒体库文件,并且还在数据库中存储文件元数据(标题,描述等)的记录.当您使用媒体库控件列出这些项目时,它将从文件系统中读取文件以显示它们.从文件系统读取然后查询数据库是否更快?或者在媒体文件元数据数据库表上运行简单查询会更快吗?
假设:
查询将是这样的:
SELECT*
FROM Media_File
WHERE FilePath LIKE'Path/To/Current/Media/Folder /%'
简短的回答是,它取决于许多可变因素,但文件系统通常会比DB快.
更长的答案是:在已知位置扫描本地文件系统通常很快,因为资源靠近家庭,计算机设计用于非常有效地执行这些操作.
但是,它是否比数据库更快取决于数据库实现,它所在的位置,以及我们正在讨论的数据量.总的来说,DBMS经过优化,可以非常有效地存储和查询大型数据集,而"扁平"文件系统只能像硬件一样快速扫描驱动器.它们的速度有多快取决于实现(SqLite总体上不如MS Sql Server或Oracle那么快),通信方案(通过网络传输文件是计算机定期执行的最慢的事情;相比之下,命名管道提供非常快速的进程间通信),以及你投入多少硬件(带有SATA-RAID条带化的四核Xeon刀片服务器将比你的Celeron笔记本电脑快得多).