【问题标题】:Database table design optimise for high volume data数据库表设计针对大量数据进行了优化
【发布时间】:2011-01-07 15:14:15
【问题描述】:

如果我要整理澳大利亚大陆和南部的旅游和酒店数据 美国你能告诉我一个最好的方法吗?就像我这样组织表格:

  • 各大洲
  • 国家
  • 状态
  • 邮政编码
  • 城市
  • 目的地
  • 酒店
  • lnkhotelszipcodes(如果酒店存在于多个地方)
  • 连锁酒店城市

它将以国家、州、邮政编码、城市为导向,然后是酒店和旅游目的地的设施或特色

【问题讨论】:

    标签: sql database performance database-design optimization


    【解决方案1】:

    简而言之 - 为一个实体创建一个表。

    我认为您应该创建一个 ERD 图 (http://en.wikipedia.org/wiki/Entity-relationship_model),并按以下方式将其映射到表格: 一个实体 - 一张表。结果,您将获得第三范式的数据。您应该以这种方式进行,直到遇到一些性能问题。如果他们会很严重 - 开始去正常化。在这种情况下,我认为构建未标准化的东西是不合理的。

    【讨论】:

      【解决方案2】:

      我建议您使用星型模式对其进行建模。有一个区域维度。将有助于对数据进行切片和切块。

      星型模式用于基于数据仓库的应用程序。它允许用户分析不同粒度级别的数据。在您的情况下,您可以获得不同粒度级别的酒店计数。互联网上充斥着大量关于星型模式的信息。谷歌“星模式”。您还可以阅读数据仓库。

      这可能是一个很好的起点:http://en.wikipedia.org/wiki/Star_schema

      【讨论】:

        【解决方案3】:

        一家酒店如何存在于多个地方? 另外,这真的是一张大表,还是说是一个大数据库?

        【讨论】:

        • 酒店集团或连锁度假村之类的。除了数据库很大之外,在这种设计中,表还将包含大量数据。例如 zip 和 city 表。链接表。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多