1) Да. Не сильно зависит от размера таблицы. Время на обновление индекса примерно одинаковое на каждую запись. Данные можно читать и писать, залочена будет только текущая запись (INNODB) или будет залочена вся таблица (MYISAM) до того момента как все запишется.
2) Для индексированной строки - на запись меняется индекс.
Вставка в таблицу с индексами медленнее, чем без. Если нужно вставлять большими кусками по милиону записей и больше, можно выключить индексы, вставить данные, а потом включить.
ALTER TABLE DISABLE KEYS
INSERT INTO xxx VALUES (1,2,3)
ALTER TABLE ENABLE KEYS
В 99% это не нужно, достаточно вставлять данные большими кусками c помощью
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9); что уже даст очень приличный прирост скорости