Обновление всей таблицы без блокировки в MySQL

Выполнение этого оператора обновления заблокирует каждую строку в таблице на 5 секунд.

UPDATE `audio_clips` SET activity = activity * 0.95;

Есть ли способ сделать это партиями (внутренне для mysql) или для выполнения оператора без блокировки?

Это поле используется для отображения того, что сейчас популярно на сайте (например, Reddit, Hacker News и т. д.). Каждый раз, когда воспроизводится audio_clip, активность увеличивается на единицу. Мы регулярно снижаем активность каждого клипа. Я не беспокоюсь об атомарном обновлении, пока каждая строка распадается.

8
задан Brian Tompsett - 汤莱恩 6 July 2017 в 22:39
поделиться