Если именно свойствами, то ForEach вызывает метод с передачей в него элемента списка. В этом методе проверяйте что свойства и ветвите логику. Можете пример описать? UPD: Если надо сделать только с элементами определённого "свойства" одно и то же (типа не для одних - одно, для других - другое), то надо отфильтровать через Where их по этому свойству перед ForEach
Зависит от скрипта импорта. В MySQL есть "отложенная запись" (низкоприоритетная). Оно в память себе затащило то что нужно записать (видимо, там построчно выполняется запись), а записывает "как успевает". Но 2 миллиона строк - это очень мало. Должно было отработать очень быстро, если логика не извращённая или система не меленная.
Заливать большие объёмы надо "пачками".