西西河

主题:【求教】一个目录下放多少文件不会影响文件查找性能? -- 铁手

全看树展主题 · 分页首页 上页
/ 1
下页 末页
家园 【求教】一个目录下放多少文件不会影响文件查找性能?

因为目前西西河数据库空间的限制,把所有帖子放到数据库里目前看来不太现实,在没有专用服务器之前,可能的解决方案就是把以前的帖子做成HTM文件,放到站上的WEB空间里去。

现在的问题是,帖子数量已经过了10万,也不可能都放到一个目录下。如果是放到几个目录下,那么一个目录里放多少个文件效率会比较高一些?

当然,目录数量需要越少越好,目录里的文件又不能多到影响查找效率。

家园 有几点意见:

1。 如果把以前的帖子从数据库里拿出来,会不会Break your code。比如查询功能等等。

2。 可不可以将大家Poster的帖子压缩一下,或者压缩以前的旧帖子。用户Poster的帖子都是TEXT,用普通的压缩算法因该可以压缩到15%左右,这样能省不少空间。但缺点是看以前的帖子要先在服务器端解压,可能会用不少CPU时间。另外你可能还要写一个程序,每天人少的时候将过期的帖子压缩一下.这可能要改动数据库结构,也许有一些工作量。

3。目录下的文件多少会影响查询效率。这要看你的具体算法了。你也许可以用一些Nameing Convention来自动生成目录(比如每天的帖子放在一个目录下等等)

4。能不能删掉一些旧帖子。只保留精华贴或是超过100个View的帖子等等。

别的想起来再说。

家园 查询的话目前只能查标题,这个会保留。

压缩我就不干了,恐怕很麻烦。

我的想法是用编号来解决问题。比如1-10000在一个目录,10001-20000在一个目录。版面上应该还比较容易,另一个好处就是搜索引擎会比较容易收录一些。

我说的效率问题是这样的:给定一个链接说是找1234.html,如果1234.html所在目录有10000个文件或者是10000000个文件,那么找到这个文件的速度上面会不会有差别?

要删的话,可能要删一些大帖子才行。

家园 一个目录放10000个文件我认为问题不大。要不你就多搞些目录。

比如0001-2000每2000个文件放一个目录。

要不就搞两层或是三层目录。如下所示

1-10000

--1-1000

--1000-2000

-- 。。。

--9000-10000

这样当你拿到一个文件名的时候,比如8912.html,你算一下,马上就可以找到具体的Folder。

两层目录管理起来也不是很复杂。应付现在的CCHERE应该足够了。

说实在的,目录大小对搜索性能会有一定影响,但我认为不会很大。这不会是我们的"瓶颈"。

全看树展主题 · 分页首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河