diff --git a/tools/profiling/Controller.php b/tools/profiling/Controller.php
index c110a4154..e31daf86d 100644
--- a/tools/profiling/Controller.php
+++ b/tools/profiling/Controller.php
@@ -111,6 +111,15 @@ abstract class Controller extends ControllerCore
return ''.$n.' quer'.($n == 1 ? 'y' : 'ies').'';
}
+ private function displayRowsBrowsed($n)
+ {
+ if ($n > 200)
+ return ''.$n.' rows browsed';
+ if ($n > 50)
+ return ''.$n.' rows browsed';
+ return ''.$n.' row'.($n == 1 ? '' : 's').' browsed';
+ }
+
private function displayLoadTimeColor($n, $kikoo = false)
{
if ($n > 1)
@@ -378,7 +387,16 @@ abstract class Controller extends ControllerCore
$queries = Db::getInstance()->queries;
uasort($queries, 'prestashop_querytime_sort');
foreach ($queries as $data)
- echo $hr.'getTimeColor($data['time'] * 1000).'>'.round($data['time'] * 1000, 3).' ms '.$data['query'].'
in '.$data['file'].':'.$data['line'];
+ {
+ echo $hr.'getTimeColor($data['time'] * 1000).'>'.round($data['time'] * 1000, 3).' ms '.$data['query'].'
in '.$data['file'].':'.$data['line'].'
';
+ $explain = Db::getInstance()->executeS('explain '.$data['query']);
+ if (stristr($explain[0]['Extra'], 'filesort'))
+ echo 'getTimeColor($data['time'] * 1000).'>USING FILESORT - ';
+ $browsed_rows = 1;
+ foreach ($explain as $row)
+ $browsed_rows *= $row['rows'];
+ echo $this->displayRowsBrowsed($browsed_rows);
+ }
echo '