如何使用PHP在Highload上增加Mysql Integer字段

时间:2015-02-26 12:12:35

标签: php mysql high-load

我遇到了以下问题:当我尝试增加我的mysql表的一列时,该值在高流量负载上变得不同步。

该任务分为两部分,用于递增列并添加一个新行 到另一张桌子。因此,如果我添加100行,则计数器应保持为100.

在高负荷下,例如我得到了100个请求/它来到柜台的问题 计数器值为80但添加了120行。

//This is the current increment routine build with an Yii ActiveRecord Class
$id = 123;
$dataRow = ActiveRecordModel::model()->findByPK($id);
$dataRow->counter +=1;
$dataRow->save();

//Add the row 
$row = new ActiveRecordModelRow();
$row->operatingSystem = 1;
$row->save();

我认为问题是某些请求的处理速度比其他请求快,可能会覆盖这些值。希望有人可以帮助我指出我正确的方向,或者有一个建议如何解决这个问题。

最佳, 尼尔斯

1 个答案:

答案 0 :(得分:0)

你不能在mysql中使用自动增量字段,以便数据库处理增量而不是PHP。处理所花费的时间并不重要,因为插入记录时将设置整数。