php - 如何使用 PHP 在 Highload 上增加 Mysql 整数字段

标签 php mysql high-load

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

该任务分为两件事:增加列并添加新行 到另一张 table 。因此,如果我添加 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();

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

最好, 尼尔斯

最佳答案

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

关于php - 如何使用 PHP 在 Highload 上增加 Mysql 整数字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742157/

相关文章:

php - 完成后在ajax之后获取变量

PHP 设置 proc_open 直接输出给用户

java - 如何将 mysql-connector-driver 与 jsp 一起使用

MySql : How to update column of table by checking for multiple fields in where clause?

java - 高负载项目中的Java OOM

php - 将 mysql 查询移出循环

php - 使用 phpmyadmin 的 MySQL 触发器

mysql - 如何将 BGL 转换为 MySQL 表?

perl - 如何在 Perl 中实现简单的 WHOIS 代理?

php - 为什么我不能使用 PDO 将 0.00 十进制值插入到我的数据库中?