Я работал над C# Compact Framework 4.0 для моего продукта.Самый толстый способ вставки данных в Sql Server CE
У меня есть сервер и мобильный телефон, и мне нужно синхронизировать все данные с сервера на моем мобильном устройстве.
Обычно около 6000 записей будут вставлены в мое мобильное устройство на одном столе.
Теперь я использую таблицу напрямую с именем индекса указанной таблицы.
Это занимает около 55 секунд для 6000 записей.
Есть ли более быстрый способ вставить?
SqlCeCommand cmdItem = conn.CreateCommand();
SqlCeResultSet rsItem;
cmdItem.CommandText = "item_info";
cmdItem.IndexName = "PK_item_info";
cmdItem.CommandType = CommandType.TableDirect;
rsItem = cmdItem.ExecuteResultSet(ResultSetOptions.Updatable | ResultSetOptions.Scrollable);
while(reader.read()){
SqlCeUpdatableRecord recItem = rsItem.CreateRecord();
recItem.SetString(1, cmdItem.SerialNo);
recItem.SetInt32(10, 0);
rsItem.Insert(recItem);
}
Может быть, было бы лучше, если бы вы поделились текущий код –
Ну, трудно сказать, не видя кода, но сохраняя открытым соединение и указать тип данных в явном виде при добавлении параметров в вашем SQL команды два вещи, которые могут влиять на скорость. В противном случае, это мобильное устройство и мобильный сервер SQL Server. Не ожидайте, что чудеса произойдут с точки зрения скорости. –
Обновлен код – user3383301