Одна секунда звучит как слишком длинная. Гораздо дольше, чем я измерил. В тривиальном тесте я только что сделал:
using(var dc = new MyDc(@"isostore:/stuff.sdf"))
{
if(!dc.DatabaseExists())
dc.CreateDatabase();
dc.Data.InsertAllOnSubmit(
Enumerable.Range(0, 6000).Select( i => new MyData { Data = "Hello World" }));
dc.SubmitChanges();
}
Я могу вставить со скоростью 1 ~ 2 элемента в мс в 6000 партий, и это оставалось довольно стабильным, так как размер данных продолжал расти. Если я изменю его на более мелкие партии (например, 5 элементов), то он упадет примерно до 10 мс на элемент, так как при инициализации текстового контекста довольно много накладных расходов, и это влияет на время выполнения.
Так что должно быть что-то еще происходит. Можете ли вы дать некоторые подробности о том, что вы вставляете? Может быть, пример кода, который демонстрирует проблему от начала до конца?