【问题标题】:Store received data in a Drupal CCK field or in aMySQL database table?将接收到的数据存储在 Drupal CCK 字段或 MySQL 数据库表中?
【发布时间】:2011-01-20 04:42:51
【问题描述】:

我想将从服务器接收到的消息存储在某种数据库中。我的网站基于 Drupal,我使用的是 Mysql 数据库。消息包含 6 个字段(2 个字符串和 4 个整数)。存储后,这些消息将不断被查询和更新。

我应该在这里采用哪种方法。 drupal CCK 字段还是 MySql 数据库表?

【问题讨论】:

  • “消息”如何进入数据库。这可能会影响答案。您是否正在创建入站 Web 服务、解析传入的电子邮件……?
  • @Matt:我将使用套接字连接来检查传入的消息。

标签: mysql database drupal


【解决方案1】:

这取决于。 CCK 的模式更多地是为了灵活性而设计的,而不是为了“不断查询”。如果您不希望您的架构随着时间的推移而发生很大变化,并且您有能力创建和管理自己的表,那么您可能不会从 CCK 中获得太多好处。如果您决定将数据导出到 Drupal 以外的系统,那么通过创建自己的自定义表获得的简单表结构可能会更容易。

但是,如果您出于某种原因赶时间,您可以在大约 15 分钟内创建一个包含您描述的字段的单一内容类型。如果您想要对 Views 模块的支持,CCK 中已经包含该模块。

【讨论】:

  • 哪一个会在查询中提供更快的结果并且适合不断更新?在内存使用方面也很好。此数据类型中的项目数量一天可能会超过 1000 个。
  • 自定义表格几乎肯定会给您更快的结果。只有测试会告诉你速度有多快。可能微不足道,也可能不会。使用自定义表的内存开销也会更少,因为数据结构可能更简单。同样,我不确定到底是多少。
【解决方案2】:

如果您的数据库中有遗留数据,或者您的数据库通过一些外部进程填充,则 CCK 不是一个选项。 CCK 允许您修改 Web 界面中的字段;但是,这样做会改变底层的数据库结构。 CCK 也依赖于它自己的数据库结构,如果您不自己编写所有 CCK 字段,就无法让 CCK 从旧的或非 CCK 数据库中抓取内容,或者将内容推送到那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2015-09-11
    • 2013-05-14
    相关资源
    最近更新 更多