Witam prosił bym o pomoc przy optymalizacji kodu ponieważ hosting skarży się na za duże użycie procesosora skrypt jest wykonywany raz na 5 min array zwracany to okolo 400 wierszy wykonywany 100 razy ,obciecie danych wchodzacych do preg mach odpada bo bardziej obciaza serwer
$ppp=1; while($ppp<=100
) { preg_match_all($code, $handler, $data, PREG_PATTERN_ORDER
); $i2 = 0;
$p = 0;
while ($data[0][$i2] != '') {
$userName = addslashes(encodeNamePlayer
($data[1
][$i2])); $userLevel = $data[3][$i2];
$userVocationId = $vocations[$data[4][$i2]];
$userId = getuserId($userName);
if ($userId > 0 && $userName != '') {
$result = mysql_query("SELECT `userVocationId`, `userLevel`, `userWorldId`, `userTotalOnlineTime` FROM `users` WHERE `userId` ='$userId'"); $userOldLevel = $rr['userLevel'];
$userOldVocationId = $rr['userVocationId'];
$userOldWorldId = $rr['userWorldId'];
$userTotalOnlineTime = $rr['userTotalOnlineTime']+1;
if ($userOldLevel != $userLevel) {
if($userOldLevel>$userLevel){
mysql_query("INSERT INTO `klorxcom_user_statistics`.`waiting_for_review_by_the_death` ( `userId` ,
`date`
)
VALUES (
'1', '1'
);
");
}
"INSERT INTO `klorxcom_user_statistics`.`user_level_history` (
`userId` ,
`level` ,
`date`
)
VALUES (
'$userId', '$userLevel', '$time'
)");
}
if ($userOldVocationId != $userVocationId) {
"INSERT INTO `klorxcom_user_statistics`.`user_vocation_history` (
`userId` ,
`vocationId` ,
`date`
)
VALUES (
'$userId', '$userVocationId', '$time'
)");
}
if ($worldId != $userOldWorldId) {
"INSERT INTO `klorxcom_world_statistics`.`user_world_history` (
`userId` ,
`worldId` ,
`date`
)
VALUES (
'$userId', '$worldId', '$time'
)");
}
"UPDATE `klorxcom_user_statistics`.`users` SET `userLevel` = '$userLevel',
`userVocationId` = '$userVocationId',
`userWorldId` = '$worldId', `userTotalOnlineTime` = '$userTotalOnlineTime',
`userLastLogin` = '$time' WHERE `users`.`userId` = '$userId' LIMIT 1");
} elseif ($userName != '') {
## gracz nie istnieje
"INSERT INTO `klorxcom_user_statistics`.`users` (
`userId` ,
`userName` ,
`userLevel` ,
`userVocationId` ,
`userWorldId` ,
`userTotalOnlineTime`,
`userLastLogin` ,
`addToStatistics`
)
VALUES (
NULL , '$userName', '$userLevel', '$userVocationId', '$worldId', '1', '$time', '$time'
)");
$userId = getuserId($userName);
"INSERT INTO `klorxcom_user_statistics`.`user_level_history` (
`userId` ,
`level` ,
`date`
)
VALUES (
'$userId', '$userLevel', '$time'
)");
"INSERT INTO `klorxcom_user_statistics`.`user_vocation_history` (
`userId` ,
`vocationId` ,
`date`
)
VALUES (
'$userId', '$userVocationId', '$time'
)");
"INSERT INTO `klorxcom_world_statistics`.`user_world_history` (
`userId` ,
`worldId` ,
`date`
)
VALUES (
'$userId', '$worldId', '$time'
)");
} else {
##cos nie tak
}
if ($userId > 0) {
"INSERT INTO `klorxcom_user_statistics`.`user_online_data` (
`userId` ,
`worldId` ,
`date`
)
VALUES (
'$userId', '$worldId', '$time'
)");
}
$i2 ++;
$p ++;
}
`world_id` ,
`players_online` ,
`date`
)
VALUES (
'$worldId', '$p', '$time'
)");
}
mysql_query("OPTIMIZE TABLE `users` , `user_level_history` , `user_online_history` , `user_vocation_history` , `user_world_history`"); )");