gpt4 book ai didi

file - 什么对性能更好 - 一个目录中有多个文件,还是多个子目录每个都有一个文件?

转载 作者:行者123 更新时间:2023-12-04 02:05:17 25 4
gpt4 key购买 nike

在构建 Web 应用程序时,我们经常有与数据库条目相关联的文件,例如:我们有一个 user表和每个类别都有一个 avatar字段,保存关联图像的路径。

为了确保文件名没有冲突,我们可以:

  • 上传到 ID.jpg 时重命名文件;路径将是 /user-avatars/ID.jpg
  • 或者为每个实体创建一个子目录,并保持原始文件名不变;路径将是 /user-avatars/ID/original_filename.jpg

  • 其中 ID 是 users的唯一身份证号码

    从应用程序逻辑的角度来看,两者都是完全有效的。

    但是从文件系统性能的角度来看,哪一个更好?我们必须记住 category的数量条目可以非常高(百万)。

    一个目录可以容纳的子目录数量有限制吗?

    最佳答案

    这将取决于您的文件系统,但我将假设您正在谈论诸如 ext3 之类的简单内容,并且您没有运行分布式文件系统(其中一些非常擅长此)。通常,文件系统在单个目录中的特定数量的条目上表现不佳,无论这些条目是目录还是文件。因此,无论是为每个图像创建一个目录还是在根目录中创建一个图像,都会遇到缩放问题。如果你看这个答案:

    How many files in a directory is too many (on Windows and Linux)?

    您会看到 ext3 限制在一个目录中大约 32K 条目,远少于您建议的数量。

    在我的头顶上,我建议对多级目录树进行一些基本的分片,例如/user-avatars/1/2/12345/original_filename.jpg。 (或者适合您的 ID 类型的东西,但我将您的问题解释为关于数字 ID。)这样做也会使您以后决定要跨存储集群分布时的生活更轻松,因为您可以传播目录大约。

    关于file - 什么对性能更好 - 一个目录中有多个文件,还是多个子目录每个都有一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830607/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com