Drupal TB mega菜单太慢了

时间:2015-07-28 08:52:38

标签: php mysql drupal

我正在使用Drupal和我的主菜单的TB mega菜单开发一个网站,当我使用Devel检查执行时间时,我发现TB mega菜单在下面的查询中花了大约23978.991 ms:

tb_megamenu_get_tree

SELECT m.load_functions, m.to_arg_functions, m.access_callback, m.access_arguments, m.page_callback, m.page_arguments, m.delivery_callback, m.title, m.title_callback, m.title_arguments, m.type, m.description, ml.* FROM menu_links ml LEFT JOIN menu_router m ON m.path = ml.router_path WHERE ml.menu_name = :menu ORDER BY p1 ASC, p2 ASC, p3 ASC, p4 ASC, p5 ASC, p6 ASC, p7 ASC, p8 ASC, p9 ASC

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

我认为它缺少JOIN条件的索引,或者在ORDER BY子句中。添加适当的索引几乎肯定会有数量级的帮助。

但我也会推荐Goon3r对SuperFish的推荐。我们使用它并且效果很好。