【问题标题】:Preserving data integrity in Drupal:在 Drupal 中保持数据完整性:
【发布时间】:2009-09-10 07:28:29
【问题描述】:

我碰巧在 Drupal 中开发了一个模块,但由于某些看似 View 的限制,我不得不使用自定义 SQL。这让我遇到了一些节点修订问题,我得出了结论 在 Drupal 中最好使用它的本地方法来处理任何数据。否则,可能会出现数据完整性问题。

即使希望在 Drupal 中优化 SQL 查询,显然这应该在极少数情况下针对真正的瓶颈进行。

您有哪些与此困境相关的经验 - 直接 sql 查询与 Drupal 模块/函数?

【问题讨论】:

    标签: sql drupal query-optimization data-integrity


    【解决方案1】:

    更新数据时,您应该始终使用 Drupal 默认值,即使您之后需要对自定义表等进行其他查询。不明显(不深入研究代码)Drupal 对各种操作的作用以及如果您复制操作代码并将其放入您的函数中,从那时起您必须注意核心的变化。

    视图的一个技巧可能对您有所帮助,如果视图几乎可以满足您的需求,您可以查看视图生成的查询复制该查询并将其放入您自己的代码中。这消除了视图的其余开销,并且可以大大提升性能。

    【讨论】:

    • +1 用于在更新/插入数据时始终使用 drupal 函数 - 即使您遵循核心模块的行为,您也很容易错过其他模块在众多钩子操作中所做的事情。直接从数据库中读取通常是可以的,但请注意,您可能会错过其他模块也会通过钩子添加的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 2016-03-10
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    相关资源
    最近更新 更多