2011-04-13 50 views
3

我有访问平面文件的文件系统,其结构我必须做出决定的应用程序。我的文件系统存储了用户的一年中的每一天,每一年,每一天的数据数据的形式为HH:mm, value的信息。我的数据访问通常每次限制在1个月左右。我的目录结构选项是,c#更多文件读取比。更多的文件打开/关闭速度

1.FileSystem > UserA > 2010_01_01, 2010_01_02,即,对于每个用户,将每天的数据存储为文件。并且,

2.FileSystem > UserA > 2010_01, 2010_02,即对于每个用户,存储个月的数据作为一个文件。

使用1当我取回我有更频繁的文件打开/关闭和更少的文件中读取用户数据将意味着(去我需要的线路),而使用2意味着不那么频繁的文件打开/关闭和更多的文件读取(以走到我需要的路线)。 我会关闭使用更好的?

注:我认识到1我可能在不同的线程访问不同的文件,并可能加快速度。

回答

2

考虑到每个打开的文件实际上是多次读取,并且大量读取并不比小读取贵得多。另外,硬盘被物理限制为在同一时间访问磁盘的某个部分,因此,除非每个线程从不同的磁盘读取多个线程可能不会帮你的。

+0

+1忘了相同的磁盘访问 – Aks 2011-04-13 05:54:38