Что заблокировать
Это зависит. Если вы хотите убедиться, что новые данные не могут быть записаны во время выполнения обновления, вам следует заблокировать обе таблицы. Если это просто вопрос записи, заблокируйте только таблицу, в которой выполняется обновление.
Общее неправильное представление
неправильно , что MyISAM не может делать блокировки. MyISAM не поддерживает только блокировку на уровне строк. MyISAM прекрасно умеет блокировать таблицы.
Примите решение на основе следующего списка.
Помощник по принятию решений
Будет ли ваша таблица вставлена, удалена и обновлена намного больше, чем она будет выбрана?
=> InnoDB
Вам нужен полнотекстовый поиск
=> MyISAM
Предпочитаете ли вы / требуете четких ограничений внешнего ключа
=> InnoDB
Проблема с дисковым пространством или оперативной памятью?
=> MyISAM
В сомнении?
=> MyISAM
Победителя нет.