Причина, по которой сначала не создается индекс, заключается в том, что он замедляет запись, но это не соответствует действительности в 100% случаев.Если вы вставляете данные в том же порядке, что и индекс, то сначала создание индекса, возможно, не будет плохой вещью, поскольку индекс не должен будет сильно корректироваться по мере продвижения.Вам нужно будет протестировать каждый сценарий, чтобы увидеть, какой вариант лучше всего подходит для вашей конкретной ситуации.
Как упомянул jdweng, создание индекса в то же время, что и данные, не решает проблему создания индекса в первую очередь, так какон вводит конкурирующие блокировки, и если индекс завершается первым, его нужно будет обновлять в каждой строке, как если бы вы создали его вначале.
Некоторому процессу потребуется остаться в живых, чтобы завершить индекс, но это не так.должна быть эта функция.После того, как вставка завершится, у вас может быть вызов функции другим процессом для создания индекса.Для этого есть много опций, включая другую функцию, приложение логики (путем вызова хранимого процесса) или агента задания SQL, если он вам доступен.