Насколько я знаю, вариант 2 на самом деле доставит вам больше хлопот, чем вариант 1, и не только потому, что он требует больше перемешивания данных, но и потому, что импорт данных в таблицу и построение индекса одновременно займет больше времени, чем просто импорт данных, а затем создание всего индекса.
Подумайте об этом: если MySQL импортирует данные таблицы и строит индекс одновременно, то при каждой вставленной строке он должен не только вставлять эту строку, но и вставлять строку в индекс. Это будет медленнее, чем простое построение индекса на основе уже имеющихся данных. С другой стороны, если вы полностью восстановите данные и затем создадите индекс, вы вернетесь к варианту 1, но в то же время будете бессмысленно очищать и пополнять таблицу.
Я не думаю, что вы получите лучшую производительность, чем вы можете, просто прикусив пулю и введя команду ALTER TABLE. Возможно, вы можете запланировать выполнение команды в то время, когда уровень использования ниже, например, среди ночи ??