magento中查看某一段代码生成的sql

查看一段代码运行期间执行的sql语句
便于查看sql性能

使用magento自带的读写适配器操纵数据库的时候,会调用lib/Zend/Db/Adapter/Abstract.php文件中的query方法,在query方法中将sql语句记入日志

1
2
3
4
5
public function query($sql, $bind = array())
{
Mage::log($sql,null,'jim.log');//记日志
}

同时,在待测试的代码前后都加上标记,同样记入日志中

1
2
3
4
5
6
public function test()
{
Mage::log('----------test sql start--------------',null,'jim.log');
$a = Mage::helper('test')->testSql(); //待测试代码
Mage::log('----------test sql end--------------',null,'jim.log');
}

最后运行程序后,打开日志文件jim.log查看test sql starttest sql end之间的sql语句,即为测试代码执行的sql语句