2011-01-06 3 views
4

У меня есть база данных MySQL с структурой MyISAM. Я знаю, что оператор обновления блокирует таблицу, но блокировка предотвращает чтение или просто запрещает другим вставлять, удаляя &, обновляя таблицу?MySQL MyISAM делает блокировку обновления для таблицы и предотвращает чтение?

ответ

3

от http://dev.mysql.com/doc/refman/5.1/en/internal-locking.html:

MySQL использует блокировку на уровне строк для таблиц InnoDB , и на уровне таблицы блокировки для MyISAM, памяти и MERGE таблицы.

Таким образом, вы будете иметь запись блокировку на уровне таблицы, что означает только вы можете получить доступ к таблице в соответствии с http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html

Only the session that holds the lock can access the table. 
+0

Так это будет означать, что вы не можете прочитать таблицу. – Sally

+0

Да, если вы имеете в виду, что это означает, что другой сеанс не может прочитать таблицу. Текущая сессия может видеть вторую ссылку: «Сеанс, содержащий блокировку, может читать и записывать таблицу». – Nanne

1

Я не эксперт MySQL, но если вы хотите предотвратить чтение, прочитали ли вы о команде LOCK TABLES?

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