CURSOR в proc, который только блокирует текущую строку UPDATEd (в то время как UPDATING), и ничего больше для продолжительности?

Пожалуйста, несите меня, потому что я безнадежен по лексике, и мои собственные поиски никуда не денутся.

Я узнал здесь, что если я обновляю так, как я хочу здесь (с помощью GROUP_CONCAT s также хранятся в пользовательских vars), я заблокирую всю таблицу.

Я уверен, что лучший способ сделать это – это UPDATE по строкам в CURSOR , начиная с самого высокого идентификатора PK, а затем спускающегося, потому что я уверен, что у меня будет меньше шансов на тупик, конфликт или что-то еще он называется (сказал вам, что я плохой с vocab), если я начну с самой последней записи.

Столбец UPDATE d не имеет индекса.

Я только что узнал, что TRIGGER – это TRANSACTION по умолчанию, поэтому я сделаю proc вместо этого и позвоню из php.

Уровень изоляции транзакций – REPEATABLE-READ .

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

Все таблицы InnoDB.

Все SELECT s и UPDATE s – это WHERE d на PK-идентификаторе, за исключением CURSOR SELECT который SELECT s все идентификаторы в таблице UPDATE d. Нет подключений. Нет. Не суетись.

При этом здесь, наконец, возникают вопросы:

  1. DECLARE SELECT только один раз, или это тоже будет цикл (я бы предпочел, чтобы SELECT только один раз)?
  2. Будет ли блокировка DECLARE SELECT оставаться на время proc (я бы предпочел, чтобы он был выпущен как можно скорее)?
  3. Будет ли блокировка строк для каждого выпуска UPDATE как только запрос будет закончен, или они останутся на время proc (я бы предпочел, чтобы релиз блокировки строк после того, как был завершен отдельный запрос UPDATE )?
  4. Будет ли SELECT s для пользовательских переменных также выпущен после их установки (вы догадались: я предпочитаю, чтобы они также выпускались как можно скорее)?
  5. Будет ли возможно, что все еще SELECT строку UPDATE d с блокировкой строк (опять же, я бы предпочел, если бы мог)?

Спасибо заранее!

Почему UPDATE все на INSERT

На моем веб-сайте (в моем профиле) я разрешаю пользователям получать доступ ко всем представленным ссылкам. Это нормально на последовательной основе, я просто ссылаюсь на идентификатор.

Тем не менее, я также оцениваю их по комбинированному процентилю пользовательского алгоритма на трех типах голосования, одинаково взвешивая 3.

Проблема в том, что в моем алгоритме каждый голос влияет на все остальные голоса. Из-за природы моего алгоритма это невозможно.

По требованию

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

Вычисление в представлении было еще большим бедствием.