Пожалуйста, несите меня, потому что я безнадежен по лексике, и мои собственные поиски никуда не денутся.
Я узнал здесь, что если я обновляю так, как я хочу здесь (с помощью 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. Нет подключений. Нет. Не суетись.
При этом здесь, наконец, возникают вопросы:
DECLARE
SELECT
только один раз, или это тоже будет цикл (я бы предпочел, чтобы SELECT
только один раз)? DECLARE
SELECT
оставаться на время proc (я бы предпочел, чтобы он был выпущен как можно скорее)? UPDATE
как только запрос будет закончен, или они останутся на время proc (я бы предпочел, чтобы релиз блокировки строк после того, как был завершен отдельный запрос UPDATE
)? SELECT
s для пользовательских переменных также выпущен после их установки (вы догадались: я предпочитаю, чтобы они также выпускались как можно скорее)? SELECT
строку UPDATE
d с блокировкой строк (опять же, я бы предпочел, если бы мог)? Спасибо заранее!
Почему UPDATE
все на INSERT
На моем веб-сайте (в моем профиле) я разрешаю пользователям получать доступ ко всем представленным ссылкам. Это нормально на последовательной основе, я просто ссылаюсь на идентификатор.
Тем не менее, я также оцениваю их по комбинированному процентилю пользовательского алгоритма на трех типах голосования, одинаково взвешивая 3.
Проблема в том, что в моем алгоритме каждый голос влияет на все остальные голоса. Из-за природы моего алгоритма это невозможно.
По требованию
Я пробовал этот маршрут с PHP. Нет. Там слишком много вычислений. Я не очень беспокоюсь о том, что пользователи мгновенно получают точные данные, потому что страница автоматически обновит ряды для пользователя, если пользователь не будет мудрее, но я не могу ждать, пока пользователь будет ждать, потому что я разрешаю быструю динамическую разбивку на страницы.
Вычисление в представлении было еще большим бедствием.