2013-08-06 2 views
0

Мне любопытно писать блокировки с MySQL и как они имеют приоритет с eachother. В частности, мне интересно, имеют ли блокировки с низким приоритетом записи более низкий приоритет, чем «обычные» блокировки записи, или если они равны. Единственная документация, которую я могу найти, гласит, что блокировки с низким приоритетом имеют более низкий приоритет, чем блокировки чтения, что позволяет сначала блокировать блокировки чтения. Но я не могу найти ничего, что говорит о том, как они относятся к другим блокировкам записи.MySQL Write Lock Priority

Дело в том, что я ищу способ «установить приоритеты» для блокировки записи и задаюсь вопросом, будет ли только стандартная блокировка с низким приоритетом выполнять то, что я ищу.

ответ

0

The manual has it all:

Запрос на блокировку LOW_PRIORITY WRITE, напротив, разрешает последующие запросы на блокировку READ на других сеансах быть удовлетворены первым , если они происходят в то время как запрос LOW_PRIORITY WRITE ждет[к будет предоставлен].

Ничего не говорится о влиянии на WRITE запросов на блокировку, так что модификатор LOW_PRIORITY не оказывает никакого влияния на Параллельное их.

Beware, though:

Модификатор LOW_PRIORITY не имеет никакого эффекта, как в MySQL 5.5.3

And:

По состоянию MySQL 5.6.5, он является устаревшим и его использование вызывает предупреждение. Вместо этого используйте WRITE без LOW_PRIORITY.

+0

Спасибо за примечание об утомлении, я пропустил это при чтении руководства раньше. Это, хотя и является частью, о которой мне все еще интересно: «Если сеанс выдает инструкцию LOCK TABLES для получения блокировки, а уже удерживает блокировки, ее существующие блокировки освобождаются неявно до предоставления новых блокировок». Я обеспокоен тем, время между неявным выпуском предыдущих замков и новыми замками. Если другой сеанс запросил блокировку записи перед неявным выпуском, будет ли второй сеанс заблокирован до первого? – orediggerco

+0

Да, независимо от использования 'LOW_PRIORITY'. Это легко проверить на тестовой таблице. – RandomSeed

Смежные вопросы