要通过我正在使用的特定代码检查所有查询:
在Varien_Db_Adapter_Pdo_Mysql中将变量$ _debug从protected修改为public
对$ _logAllQueries执行相同的操作
在代码执行之前添加:
$adapter = Mage::getSingleton('core/resource')->getConnection('core_write');
$adapter->_debug = true;
$adapter->_logAllQueries = true;
Run Code Online (Sandbox Code Playgroud)在代码后添加此项
$adapter->_debug = false;
$adapter->_logAllQueries = false;
Run Code Online (Sandbox Code Playgroud)
所以你的最终代码将如下所示:
$adapter = Mage::getSingleton('core/resource')->getConnection('core_write');
$adapter->_debug = true;
$adapter->_logAllQueries = true;
Mage::getModel('catalog/product')->load(1);
$adapter->_debug = false;
$adapter->_logAllQueries = false;
Run Code Online (Sandbox Code Playgroud)还有其他更优雅的解决方案吗?
您可以简单地打开 MySQL 日志文件并在请求页面时监视记录的查询,例如,如果您使用 Linux,请使用命令 tail -F 以实时方式查看日志文件上的所有更改。
例如在 debian 上试试这个:tail-F /var/log/mysql.log