SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.04.2011 12:05:31

maxist
Участник
Зарегистрирован: 12.04.2011
Сообщений: 5

Low and Hight Priority

Где то можно почитать про приоритеты выполнения запросов (Не про флаги)?

Если в одно время происходит чтение и запись в таблицу MyISAM что выполнится первым?

Если первым выполняется select то можно с помощью флага hight_priority заставить запрос insert выполнится в первую очередь, чтобы потом за вставкой произошло чтение с этой таблицы?

Я так понимаю, что в MyISAM, когда происходит вставка блокируется вся таблица? Она блокируется только от изменений (update, delete ... ) или так же и для запроса чтения?

Неактивен

 

#2 13.04.2011 13:07:37

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Low and Hight Priority

Приоритеты выполнения запросов действуют для таблиц с table-level locking (т.е. типов MyISAM и MEMORY, а также MERGE).

В очереди запросов приоритет имеют запросы на запись. Т.е. пока всё не запишется, запросы на чтение будут ждать (включая те запросы на запись, которые пришли, когда запросы на чтение уже стояли в очереди; т.е., попадая в очередь, запросы на запись оказываются всегда перед запросами на чтение).

Если запросу на запись указать LOW PRIORITY, то он будет ждать, пока очередь освободится, уступая место даже запросам на чтение.
Напротив, запрос на чтение c HIGH PRIORITY выполнится без очереди (т.е. влезет даже впереди запросов на запись).

Насчет HIGH PRIORITY можно почитать тут (ближе к середине): http://dev.mysql.com/doc/refman/5.5/en/insert.html

LOW PRIORITY - здесь (опять же

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson