【问题标题】:What is the best dynamic column solution for advertisement webpage?广告网页最好的动态栏解决方案是什么?
【发布时间】:2010-10-22 16:38:03
【问题描述】:

我正在开发将分类广告的网站。在每个类别中都可能有不同的输入字段(例如:对于汽车,将有电机尺寸,对于猫,将有一场比赛)。所以我正在考虑如何构建数据库来管理这个(我将使用 MYSQL 数据库)。您可以在附图中看到的一种方法,我知道这也是为每个值数据磁带创建表的解决方案,但我想知道它会减慢网站的速度。图片中的这个解决方案会在 sp_advertisement_value 表中生成空字段,这也不好。

您认为最好的解决方案是什么?也许还有别的东西? p.s.这是database market的链接。

【问题讨论】:

    标签: mysql dynamic-data


    【解决方案1】:

    您可以将其存储为名称/值对(与您在附加图像中描述的内容大致相同)。

    一个简单的模式是一个有两列名称和值的表。而不是为每个数据类型(如 value_int、value_string 等)设置一个列,而只有一个列值,其数据类型可以是 varchar(或适合您的文本)。您可以根据需要在应用程序代码中进行所有数据转换。

    您也可以在此处进行一些规范化,例如,您可以创建一个名为参数的单独查找表,其中包含 id、名称和其他相关信息,并在您存储参数值的表中包含 parameter_id,而不是保存名称。

    【讨论】:

    • 将列和值存储在不同的表中会严重影响数据库性能。因为对整个数据集进行排序和过滤需要多个 JOIN 和复杂的 SQL 查询。我在想是否可以使用 MySQL VIEW,但 MySQL VIEWS 没有索引,并且不会加速数据排序和过滤。也许 MySQL 中有动态表或临时索引表之类的东西?
    • 我不知道 MySQL 中有任何动态表支持。也许看看 NoSQL 的东西 - 这应该可以帮助你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2011-10-08
    相关资源
    最近更新 更多