Код: Выделить всё
$query = mysql_query("SELECT t1. *, t4.value,t3.login,t3.full_name,t3.actual_address,t3.home_telephone,t3.mobile_telephone
FROM service_links t1
INNER JOIN users t3
ON t1.account_id=t3.id
INNER JOIN user_additional_params t4
ON t1.account_id=t4.userid AND t4.paramid='1'
WHERE t1.service_id = 'сервисная связка(тариф)' AND t1.is_deleted!='1'
GROUP BY t1.account_id");
while($row = mysql_fetch_array($query))
{
$id=$row["account_id"];
$balance=round($row["balance"],3);
$tariff=tarif($id);
$user=$row["full_name"];
$login=$row["login"];
$adress=$row["actual_address"];
$home_telephone=$row["home_telephone"];
$mob_telefon=$row["mobile_telephone"];
$connect_date=russian_date( ' j F Y года', $row["connect_date"]);
mysql_query('SET NAMES UTF8');
$trafikres=mysql_query("
SELECT
discount_transactions_iptraffic_all.account_id,
Sum(discount_transactions_iptraffic_all.bytes) AS bytes,
Sum(discount_transactions_iptraffic_all.discount) AS discount,
t_class.t_class_name,
discount_transactions_iptraffic_all.base_cost
FROM
discount_transactions_iptraffic_all
LEFT OUTER JOIN t_class ON (t_class.id = discount_transactions_iptraffic_all.t_class)
WHERE
discount_transactions_iptraffic_all.account_id = '$id' AND
t_class.id = '10' AND
discount_transactions_iptraffic_all.discount_date_month >= '$period_start_date' AND
discount_transactions_iptraffic_all.discount_date_month <= '$period_end_date'
GROUP BY
discount_transactions_iptraffic_all.account_id,
t_class.t_class_name
");
//----------------------------Входящий трафик--------------------------------
$trafikrowin = mysql_fetch_array($trafikres);
$trafik_in=$trafikrowin['bytes'];
if(empty($trafik_in))
{
$trafik_in = "0";
}
else
{
$trafik_in = round(toMegabyte($trafikrowin['bytes']), 2);
$trafik_in = str_replace("." , "," , $trafik_in);
}
Таблица весит 6гб
На выходе имеем $trafik_in это трафик за период между $period_start_date и $period_end_date
Как можно оптимизировать или по другому выполнить задачу?