Php 如何优化此sql查询?
我有45个查询,每个查询都会更新表中的一个值。该值取自数组Php 如何优化此sql查询?,php,mysql,sql-optimization,Php,Mysql,Sql Optimization,我有45个查询,每个查询都会更新表中的一个值。该值取自数组$doffics\u results,例如$doffics\u results['1']如果列tahmin的值等于1,则保存该值,依此类推: $GLOBALS['db']->query("UPDATE odds_tahminler SET result = $odds_results[1], timestamp = timestamp where match_id= $match_id AND tahmin = 1"); $
$doffics\u results
,例如$doffics\u results['1']
如果列tahmin
的值等于1,则保存该值,依此类推:
$GLOBALS['db']->query("UPDATE odds_tahminler SET result = $odds_results[1], timestamp = timestamp where match_id= $match_id AND tahmin = 1");
$GLOBALS['db']->query("UPDATE odds_tahminler SET result = $odds_results[2], timestamp = timestamp where match_id= $match_id AND tahmin = 2");
$GLOBALS['db']->query("UPDATE odds_tahminler SET result = $odds_results[3], timestamp = timestamp where match_id= $match_id AND tahmin = 3");
$GLOBALS['db']->query("UPDATE odds_tahminler SET result = $odds_results[4], timestamp = timestamp where match_id= $match_id AND tahmin = 4");
$GLOBALS['db']->query("UPDATE odds_tahminler SET result = $odds_results[5], timestamp = timestamp where match_id= $match_id AND tahmin = 5");
我有45个查询,每5分钟在cron作业的同一页中执行一次,这使得我的CPU使用率约为77%。这正在杀死我的网络服务器。有没有办法解决这个问题,因为我对MySQL查询不是很熟悉?还有什么方法可以优化它以减少CPU的使用吗?您是否有
match\u id
和tahmin
上的索引?您可以从不直接将PHP变量注入查询字符串开始。您很容易受到SQL注入攻击。@GordonM这些值在插入queries@BaselShbeb这是一个开始,但无论你有什么解决方案,可能都不是完美无缺的。将字符串替换为预先准备好的语句以提供额外的安全网,这将是一个非常好的主意。