【问题标题】:Drupal TB mega menu is so slowDrupal TB mega menu 太慢了
【发布时间】:2015-07-28 08:52:38
【问题描述】:

我正在使用 Drupal 开发一个网站,主菜单使用 TB 超级菜单,当我使用 Devel 检查执行时间时,我发现 TB 超级菜单在以下查询中花费了大约 23978.991 毫秒:

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

知道为什么吗?

【问题讨论】:

  • 我使用drupal 已经一年多了,我可以推荐使用superfish 模块吗?看起来它会提供你所追求的。一直在使用它,并且在加载时间等方面从未遇到任何问题。

标签: php mysql drupal


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2013-03-10
    • 2014-06-07
    • 2016-05-31
    • 2011-07-07
    • 2015-08-23
    相关资源
    最近更新 更多