我遇到了一个Drupal 6站点与许多节点一起工作的问题。
这是视图提供的SQL:https://gist.github.com/ranbogmord/79bfa50e40db1322c9e0
该查询需要5-10秒才能运行,并且特定的内容类型有30个字段绑定到自己。其中21件是暴露的。
想象一下,这是业务系统中的订单。
谢谢!
发布于 2014-07-01 17:13:25
尝试通过将相关的节点对象存储在一个缓存表中来降低数据库的性能。可以在核心缓存表的基础上对数据库模式进行建模。这将通过减少联接的数量来加快查询速度。此外,将索引放在where子句中使用的任何列上。如果在使用hook_nodeapi更新/插入节点的缓存表中插入/更新行,则缓存表应该保持新鲜。然后,可以在自定义模块中用db_query替换视图,也可以使用向视图公开您的表。
hook_nodeapi
db_query
我还没有试过,但是您可能可以使用D6 对象缓存模块来实现这一点。
https://drupal.stackexchange.com/questions/121115
相似问题