多年来我一直在Drupal中编写网站,有时我会注意到代码中我只查询一行的内容,但我忘记使用LIMIT
,因此结果集可能会变得不必要地大。
虽然避免此问题的最佳方法是不要忘记这些类型的查询的这一步,但我仍然是人类,因此从长远来看,这是不切实际的乐观。
我想尽可能减少MySQL和PHP之间传输的数据量,为此,我需要知道哪些查询返回大型结果集,以便我可以在代码中找到它们并进行适当的修复。
我知道查询日志很慢,但是具有大型结果集的查询不一定很慢。
有没有简单的方法可以使用Drupal钩子或其他方式来做到这一点?
您可以使用 devel 模块来显示页面上正在执行的查询。
启用模块后,转到Administration > Configuration > Development > Devel Settings
并确保Display query log
已打开。您应该会在页面底部看到查询日志。