【问题标题】:Joomla SQL Query Debug MethodJoomla SQL查询调试方法
【发布时间】:2013-04-22 18:53:46
【问题描述】:

我计划通过输入每个查询及其对数据库表的查询执行时间来调试 Joomla 站点。我有 10 多个具有不同查询的模型。我很确定所有查询在执行之前都会经过一个地点/班级,但我不知道地点/班级在哪里/是什么。

我的问题是,我可以编辑一个中心位置来记录数据库查询和 SQL 查询的执行时间吗?我的意思是编辑一个核心文件只是为了记录每个 SQL 查询及其执行时间。

我怎样才能完成它?

【问题讨论】:

    标签: mysql sql debugging joomla joomla2.5


    【解决方案1】:

    您是否考虑过使用 Joomla 内置的System Debug

    【讨论】:

    • 您很可能会创建一个系统调试插件副本以将每个查询记录在一个表中。例如,查看 Joomla 2.5 中的 /plugins/system/debug/debug.php。但是,我看不到 Joomla 在哪里计算每个查询的执行时间。请记住,您永远不应该修改核心文件,并且插件是无需 hack 即可扩展核心功能的好方法。
    【解决方案2】:

    与其尝试使用蛮力以编程方式执行此操作,似乎使用适当的 SQL 基准测试工具(例如MySQL Benchmark Suite)会更容易且侵入性更小,另一个可能的非蛮力选项可能是Toad World

    如果您想远离第三方工具,slow query log 可能是开始的地方。

    【讨论】:

      【解决方案3】:

      如果你真的想通过 joomla (hack) 来做:

      1. 转到 joomla 的 3.3 数据库驱动程序,即:
        libraries/joomla/database/driver.php
      2. 删除 setDebug 函数
        (以防某些组件将其设置为 0)
      3. 文件更改开始时
        $debug = false; 变为 $this->debug = true;

      现在,每个查询都会与个人资料信息一起记录。

      【讨论】:

      • 亲爱的,记录了调试语句的文件在哪里?
      猜你喜欢
      • 2012-06-07
      • 2015-11-26
      • 2014-10-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      相关资源
      最近更新 更多