Как увеличить Mysql Integer Field при высокой нагрузке, используя переполнение стека

У меня возникла следующая проблема: Когда я пытаюсь увеличить один столбец моей таблицы 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();

Я думаю, что проблема в том, что некоторые запросы обрабатываются быстрее, чем другие, и, возможно, переопределяют значения. Надеюсь, что кто-то может помочь мне указать мне правильное направление или предложить решение этой проблемы.

Лучший,
Nils

0

Решение

Разве вы не можете использовать поле автоинкремента в mysql, чтобы база данных обрабатывала инкремент, а не PHP. Не имеет значения, сколько времени займет обработка, поскольку целое число будет установлено при вставке записи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]