gpt4 book ai didi

php - 在很多行中将值增加 1

转载 作者:行者123 更新时间:2023-11-29 09:02:28 25 4
gpt4 key购买 nike

目前我有一个脚本可以循环超过 10M 记录,它非常慢,如下所示:我首先在类似于此的数组中获得包含 1000 个结果的 block :

$matches[] = array('quality_rank'=>46732, 'db_id'=>5532);
$matches[] = array('quality_rank'=>12324, 'db_id'=>1234);
$matches[] = array('quality_rank'=>45235, 'db_id'=>8345);
$matches[] = array('quality_rank'=>75543, 'db_id'=>2562);

然后我逐一循环并更新记录

$mult = count($matches)*2;
foreach($matches as $m)
{
$rank++;
$score = (($m[quality_rank] + $rank)/($mult))*100;
$s = "UPDATE `packages_sorted` SET
`price_rank` = '".$rank."',
`deal_score` = '".$score."'
WHERE `db_id` = '".$m[db_id]."' LIMIT 1";
}

这似乎是一种非常慢的方法,但我找不到另一种方法来每次将字段price_rank增加1。谁能提出更好的方法。

注意:虽然我通常不会将这种值存储在数据库中,但这次我确实需要在项目稍后进行比较搜索查询。

如有任何帮助,我们将不胜感激:)

最佳答案

SQL 如下。

SET @rank = 0;
SET @mult = [your code to get # of matches];

UPDATE `packages_sorted`
SET
`price_rank` = @rank:=@rank+1,
`deal_score` = (`quality_rank` + @rank) / (@mult) * 100
ORDER BY [ your code to get correct order of ranking here ];

关于php - 在很多行中将值增加 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com