的遞增一個值目前我有一個腳本週期超過1000萬次的記錄,這是非常緩慢的,它是這樣的: 我第一次得到1000個結果塊類似這樣的數組:在很多行
$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
每次一個。任何人都可以提出更好的方法。
注意:儘管我通常不會在數據庫中存儲此類值,但我確實需要在此時進行比較搜索查詢。
任何幫助,將好心感謝:)
「看起來這是一個非常緩慢的做法」。做什麼?這是不是很清楚你在問什麼。 – vascowhite
很抱歉,如果不清楚。這很慢,因爲我需要單獨更新每個記錄(10,000,000個)。 –
你試圖增加什麼?它是否是quality_rank? – vascowhite