Согласно руководству MySQL:
Для больших таблиц блокировка таблицы часто лучше, чем блокировка строки,
Почему это? Я предположил бы, что блокировка уровня строки лучше, потому что, когда Вы соединяете большую таблицу, Вы блокируете больше данных.
из (предварительное редактирование) ссылка
Медленнее, чем блокировки на уровне страницы или на уровне таблицы, при использовании на большой части таблицы, потому что вы должны получить намного больше блокировок
используйте блокировку на уровне строки, если вы попадаете только в одну или две строки. Если в вашем коде встречается много или неизвестных строк, придерживайтесь блокировки таблицы.
Для блокировки строк требуется больше памяти, чем для блокировки на уровне таблицы или страницы.
Придется установить гораздо больше блокировок с блокировкой строк, что требует дополнительных ресурсов
Из http://www.devshed.com/c/a/MySQL/MySQL-Optimization-part-2/
Преимущества блокировки на уровне строк:
Недостатки блокировки на уровне строк:
Блокировки таблиц превосходят блокировки на уровне страниц или строк в следующих случаях:
UPDATE tbl_name SET столбец = значение WHERE unique_key_col = key_value;
DELETE FROM tbl_name WHERE unique_key_col = key_value;
Блокировка таблицы позволяет нескольким сеансам читать из таблицы одновременно
Для достижения очень высокого скорость блокировки, MySQL использует блокировку таблиц
«Я полагаю, что блокировка на уровне строк лучше, потому что» [вы блокируете меньше данных].
Первое "лучше" плохо определено на этой странице. Оказывается, лучше означает «быстрее».
Блокировка на уровне строк не может (как правило) быть быстрее из-за конкуренции за блокировки. Блокировка каждой строки большого набора результатов означает вполне реальную возможность конфликта с другим запросом большого набора результатов и откатом.
строка Блокировка на уровне таблицы лучше подходит для большой таблицы, в которой происходят основные изменения данных. Это позволяет системе бороться с единственной блокировкой таблицы вместо того, чтобы иметь дело с множеством блокировок (по одной для каждой строки).
РСУБД автоматически увеличивает уровни блокировки внутри.
В общем, если вам нужно заблокировать много данных, то одна блокировка для большой таблицы дешевле, чем целая группа блокировок на уровне строк или страниц