我碰巧在Drupal中开发了一个模块,由于一些看似View限制必须使用自定义SQL。这让我遇到了节点修改的一些问题,我得出结论 在Drupal中,最好使用其本机方法来处理任何数据。否则,可能会出现数据完整性问题。
即使希望在Drupal中优化SQL查询,显然这应该在极少数情况下才能实现真正的瓶颈。
你有什么与这种困境有关的经历 - 直接sql查询与Drupal模块/函数?
答案 0 :(得分:3)
更新数据时,你应该总是使用Drupal默认值,即使你之后需要为自定义表等做其他查询。不明显(没有深入研究代码)Drupal在各种操作上做了什么,如果你复制了操作的代码并将其放入您的函数中,您必须从那时起观察核心的变化。
一个可以帮助你的视图的一个技巧是,如果视图几乎让你得到了你想要的东西,你可以看到视图生成的查询复制并将它放在你自己的代码中。这消除了剩余的视图开销,并且可以大大提升性能。