我有一个获取Json(包含100条或更多记录)的PHP脚本,我必须将数据插入到Mysql DB中。
每次执行Insert时,我们都会删除数据库中的所有记录。
可能很多时候Json带有数据库中已有的相同数据,如果数据完全相同,我不想执行Insert。所以我附带了这个脚本,将Json与数据库中的数据进行比较:
PHP:
$j2 = json_decode($getJson, true); //decode the Json
$resultD = mysqli_query($link,"SELECT CONCAT(cod, '-', nro) as CodNro from sales WHERE id=".$id);
if ( mysqli_num_rows($result) > 0) {
while($r = mysqli_fetch_array($result)) {
$rows[] = $r[0]; //store the old info into an Array
}
foreach ( $j2['data'] as $item ) {
$CodNro[] = $item['cod'] . '-' . $item['nro']; //store the New info into an Array
}
function leo_array_diff($a, $b) { // function that compare the arrays
$map = array();
foreach($a as $val) $map[$val] = 1;
foreach($b as $val) unset($map[$val]);
return array_keys($map);
}
$result1= count(leo_array_diff($CodNro, $rows)); // check the NewArray vs OldArray
$result2= count(leo_array_diff($rows,$CodNro)); // check the OldArray vs NewArray
if($result1==0 && $result2==0) {
//exit cause there's nothing to insert or update
exit();
} else {
// run mysql insert here
}
}
最后我计算每个数组中的项目,并且:
重要提示:该脚本将在10台不同的机器中每5分钟进行一次咨询。
那么......对于Cpu Usage和DB,哪条路径更快更好?