【问题标题】:Best approache structure for a large database table大型数据库表的最佳方法结构
【发布时间】:2020-01-13 03:34:10
【问题描述】:

假设我有一个应用程序,用户可以在其中上传包含产品的文件。特殊性是用户可以上传相同的产品,但有一些不同的东西,如数量、描述、价格或供应商甚至类别,这让我说一个用户可以有很多产品,但一个产品只能有一个用户。问题是..如果我有 1000 个用户并且每个用户上传一个包含 100.000 个产品的列表,我的表产品将非常非常大,所以我认为性能方面会有一些问题。我第一次考虑为每个用户制作一个产品表,比如 table_products_user_id,但我认为这不是好方法,所以我需要帮助。请提出更好的方法。

【问题讨论】:

    标签: database postgresql e-commerce


    【解决方案1】:

    如果不同的用户与同一个产品相关联,您不必多次存储每个产品。

    如果产品都不同,设计很简单:两个表有外键关系。

    1000 乘以 100000 就是 100000000,很大,但是 PostgreSQL 没问题。

    如果您确保对大表的所有访问都是通过索引进行的,那么查询将会很快。

    如果您需要顺序扫描,但您知道,例如您总是为某个用户查询产品,按用户对大表进行分区会有所帮助。

    一个重要的考虑因素是您希望如何删除旧数据。对表进行分区可以很方便。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多