请教一个数据结构的设计

javastation 2009-01-16 09:39:21
一个千万级别用户的产品,每个用户可能有无限多个目录,每个目录下可能有无限多个子目录和文件。

用户表

users 表:

---------------------------------------
userid | folder_number | file_number
---------------------------------------
1 | 100 | 200000
---------------------------------------

folder 表:

-------------------------------------------------------------
folder_id | userid | father_id | folder_number| file_number
-------------------------------------------------------------
1 | 1 | 0 | 500 | 1000
-------------------------------------------------------------

file 表:

-------------------------------
file_id | userid | folder_id
-------------------------------
1 | 1 | 1
-------------------------------
2 | 1 | 1
-------------------------------


这里的 folder 表和 file 表都是需要哈希分布的,根据对应的 folder_id 及 file_id,例如 1千万条记录一个表,就会有很多 folder_1, folder_2 .... file_1, file_2 ... 之类的表。

问题: 如果一个用户浏览某个目录,此时需要去数据库选出所有此目录下的子目录及此目录下的所有文件,随着此目录下的子目录及文件数量越来越大,此操作非常耗时。

可能的解决办法:分页显示,如何做到在分页显示的过程中不要去全选了然后排序再limit?我想做到如果分页显示的话数据库操作只选出当前页面记录条数的信息。

...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2009-01-17
  • 打赏
  • 举报
回复
你是说数据库操作部分慢?

一个目录下一般有多少子目录和文件(就是要显示的)?

总数有千万?.....
javastation 2009-01-16
  • 打赏
  • 举报
回复
不知道windows 是怎么做的,不过就算是 windows 的话,一个目录下如果超过 1000 个目录或者文件后打开这个目录也会很慢。。。。
wzwen 2009-01-16
  • 打赏
  • 举报
回复
有点复杂...

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧