Drupal:编辑文章并查看10930个执行的查询?

Drupal:编辑文章并查看10930个执行的查询?,drupal,edit,article,Drupal,Edit,Article,这是devel的第一行告诉我的: 在3177.9毫秒内执行10930个查询。超过5000毫秒的查询和多次执行的查询将突出显示。页面执行时间为8976.56毫秒 这听起来好像很多。我应该寻找什么/在哪里找到原因 更新-这很有帮助 我找到了一个解决办法。我在菜单链接翻译(menu.inc)中应用了修复程序。现在我只剩下1500个查询了 更新: 广泛调用两个方法,并生成大量查询: drupal_查找_路径(约600个)查询,形式如下: SELECT src FROM url_alias WHERE d

这是devel的第一行告诉我的:

在3177.9毫秒内执行10930个查询。超过5000毫秒的查询和多次执行的查询将突出显示。页面执行时间为8976.56毫秒

这听起来好像很多。我应该寻找什么/在哪里找到原因

更新-这很有帮助 我找到了一个解决办法。我在菜单链接翻译(menu.inc)中应用了修复程序。现在我只剩下1500个查询了

更新: 广泛调用两个方法,并生成大量查询:

drupal_查找_路径(约600个)查询,形式如下:

SELECT src FROM url_alias WHERE dst = 'node/81528/edit' AND language IN('da', '') ORDER BY language DESC
_ad_通道_加载_节点(约1800个查询)。此方法查询mysql三次。显然,该方法是在节点加载时调用的

关于缓存,我想我应该开始寻找一种减少查询数量的方法。好像有点不对劲


另外,我是drupal的新手。

好吧,看看下面的查询(如果还没有启用查询显示)。尝试统计哪些函数执行的查询最多、速度最慢。然后试着找出他们属于哪个模块以及他们在做什么


编辑节点时,缓存会被清除,因此需要重新加载大量数据。

Devel还可以逐个显示查询。启用此功能,重新编辑文章,保存它,然后查看特定查询。也许它们中的许多看起来很相似,所以你可以开始越来越多地挖掘


让我们更多地了解这篇文章。我猜是CCK节点,但它有很多字段吗?哪种?

这听起来像是菜单路由器的问题。清除菜单缓存后,将执行菜单重建,这会生成成千上万个如您所述的查询。这就像是Drupal中这个核心bug的一种效果


如果您提供一个查询示例,我们可能会为您提供更多帮助。

有几点可以让Drupal执行大量查询:

  • 在缓存清除或其他类似功能上重建菜单路由器
  • 安装了很多模块
  • 在每个页面上重建主题注册表(某些主题具有此设置)
  • 如果您通常只有匿名用户浏览您的站点,您可能希望使用页面缓存、压缩和压缩CSS/JS进行测试,这可能会显著减少查询数量


    此外,使用Cachegrind和Webgrind之类的工具可以帮助识别哪些PHP函数需要花费很长时间才能执行,这有时比运行多少SQL查询更有用。

    您启用了drupal的缓存吗?10930?这可能吗?=)我最复杂、编码最糟糕的页面有195个查询=/195对Drupal来说不算什么,没有模块的D6最多可以发出100个请求,但只能在主页上显示10个内容^^我已经看到一个集成错误的站点在生成页面时发出6000个请求heh:dt正在调用并生成大量查询的两个方法是: