How do I print all the queries in Magento?

后端 未结 6 1888

Is it possible to display all the query strings in Magento? I really like to see what queries are executed.

Thanks

6条回答
  •  一个人的身影
    2020-12-07 15:36

    Activate the Zend SQL Profiler with the following node in your local.xml

    
     
      
       1
    

    Then you can access the profiler somewhere in your code and retrieve a lot of informations about all executed queries:

    $profiler = Mage::getSingleton('core/resource')->getConnection('core_write')->getProfiler();
    

    To simply output all queries:

    print_r($profiler->getQueryProfiles());
    

    You can add these two lines at the end of index.php to see all queries at the bottom of each page. Be aware that this will break AJAX requests that return a JSON response, so you might consider logging the queries instead of printing them, with this code (again, add it at the end of index.php):

    $profiler = Mage::getSingleton('core/resource')->getConnection('core_write')->getProfiler();
    Mage::log(print_r($profiler->getQueryProfiles(), true), null, 'queries.log', true);
    

    Then you will find all queries in var/log/queries.log

    Don't forget to remove the lines again after you finished debugging!

提交回复
热议问题