【问题标题】:Dozens of forms handling [closed]处理数十种表格[关闭]
【发布时间】:2015-10-10 11:50:02
【问题描述】:

我正在做一个有几十个表格的项目。喜欢:

Laptops_form | Mobile_form | vehicles_form | Form_45.

对于每个表单,数据都存储在数据库的不同表中。

我有 45 个表格。一个庞大的电子商务网络应用程序。

每个数据库表在应用程序中都有一个代表性页面,访问者将在其中看到已发布的广告。

我是一名中级程序员。在这种情况下,我觉得这是唯一的方法。是正确的还是有另一种以最小化的方式实现这一目标的好方法。

【问题讨论】:

    标签: php mysql forms


    【解决方案1】:

    这实际上取决于这些表中存储的数据类型,例如,如果数据字段相似但您需要区分表单,那么您只需创建一个表并为其添加一个名为form_type,该表将存储所有表单的数据。

    如果数据字段完全不同,您可以为每个表单拥有(就像您现在拥有的那样)一个表格,或者您可以拥有一些动态表格(例如在构建自定义表单时)。就个人而言,我赞成您的方法,因为它在性能方面更快。但是,第二种方法更灵活,您可以根据需要添加更多表单,而无需创建额外的表格 - 此外,使用第二种方法更容易生成报告。

    【讨论】:

    • 表单字段不一样......
    • 请查看包含您的案例的更新答案(字段不同)。
    • 谢谢哥们。我还必须照顾绩效和报告!这就是为什么选择这种方式!但我有点困惑,现在我清楚了。
    【解决方案2】:

    考虑到您的问题的扩展和解释,Itoctopus 的评论是正确的,但是......每个表单具有可变数量的表并不是很好,并且某些数据库可能没有为此进行很好的优化,就像任何数据库一样应该针对大量数据进行优化。此外,它会使您的报告变得更加困难,并且有一天您最终会创建一个表,其中包含一个包含 DB 表名称的列,并发现您无法编写将其连接在一起的 SQL,而无需使用代码将其拉出 2阶段......所以你应该瞄准一个固定的模式。

    只要数据库设计正确,表单和字段不一样并不重要。创建一个表单表和一个字段表(链接到表单表中的唯一 ID)。如果您的页面映射到表单 1 到 1,那么在表单表中添加一个 URI 列甚至可能是合适的,那么页面可以在没有额外应用程序逻辑和魔术链接的情况下找到表单。任何数据存储和报告现在都非常容易,因为您可以拥有一个链接到表单列中唯一 ID 的数据表,并且解决方案已适当规范化。

    【讨论】:

    • 我同意你所说的,我的第二个建议实际上就是你所说的,但我知道,根据经验,性能明智(即使有索引)是第一个选项更好。否则,第二个选项肯定会更好,但需要一些巨大的优化工作才能使其大规模运行。
    • 恐怕我非常强烈地认为动态表是个坏主意。我不会排除动态表是正确解决方案的用例,但我想不出这种情况。我想不出为什么性能会有任何不同,即使有 100,000 个表单,每个表单都有 10,000 个字段......事实上我希望相反,数据越多(尤其是表单越多)我认为动态的越不合适表。你在想什么样的“巨大优化”?
    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 2017-09-28
    • 2016-12-04
    • 1970-01-01
    相关资源
    最近更新 更多