Vlad Drakula
16-06-2004, 22:13
есть:
$MaxByte = mysql_fetch_array(mysql_query('SELECT sum(l.ByteSent) as Max
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
ORDER BY Max DESC;')) or print mysql_error();
$MaxCount = mysql_fetch_array(mysql_query('SELECT count(*) as Max
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
ORDER BY Max DESC;')) or print mysql_error();
if( isset( $HTTP_GET_VARS['cuturl'] ) )
$QueryStringList = mysql_query('SELECT IF( LOCATE("?", l.QueryString) = 0, l.QueryString, LEFT(l.QueryString, LOCATE("?", l.QueryString) - 1) ) as QueryString,
count(*) as Count,
sum(l.ByteSent) as AllByteSent,
l.Result,
sum(l.ByteSent) / '.$MaxByte['Max'].' as prb,
count(*) / '.$MaxCount['Max'].' as prc
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
'.$sort.';') or print mysql_error();
else
$QueryStringList = mysql_query('SELECT l.QueryString as QueryString,
count(*) as Count,
sum(l.ByteSent) as AllByteSent,
l.Result,
sum(l.ByteSent) / '.$MaxByte['Max'].' as prb,
count(*) / '.$MaxCount['Max'].' as prc
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
'.$sort.';') or print mysql_error();
как это можно про оптимизировать?
$MaxByte = mysql_fetch_array(mysql_query('SELECT sum(l.ByteSent) as Max
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
ORDER BY Max DESC;')) or print mysql_error();
$MaxCount = mysql_fetch_array(mysql_query('SELECT count(*) as Max
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
ORDER BY Max DESC;')) or print mysql_error();
if( isset( $HTTP_GET_VARS['cuturl'] ) )
$QueryStringList = mysql_query('SELECT IF( LOCATE("?", l.QueryString) = 0, l.QueryString, LEFT(l.QueryString, LOCATE("?", l.QueryString) - 1) ) as QueryString,
count(*) as Count,
sum(l.ByteSent) as AllByteSent,
l.Result,
sum(l.ByteSent) / '.$MaxByte['Max'].' as prb,
count(*) / '.$MaxCount['Max'].' as prc
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
'.$sort.';') or print mysql_error();
else
$QueryStringList = mysql_query('SELECT l.QueryString as QueryString,
count(*) as Count,
sum(l.ByteSent) as AllByteSent,
l.Result,
sum(l.ByteSent) / '.$MaxByte['Max'].' as prb,
count(*) / '.$MaxCount['Max'].' as prc
FROM logs as l, brouser as b
WHERE l.Date >= "'.$StartDate.'"
AND l.Date <= "'.$EndDate.'"
AND ( '.$r.' )
AND b.id=l.Brouser
GROUP BY l.QueryString, l.Result
'.$sort.';') or print mysql_error();
как это можно про оптимизировать?