0

私は自分の製品のC# Compact Framework 4.0に取り組んでいます。

サーバーとモバイルがあり、すべてのデータをサーバーからモバイル デバイスに同期する必要があります。

通常、約 6000 のエントリがモバイル デバイスの 1 つのテーブルに挿入されます。

今、私は指定されたテーブルのインデックス名で直接テーブルを使用します。

6000 エントリの場合、約 55 秒かかります。

挿入するより速い方法はありますか??

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);  

}
4

2 に答える 2

1

「 | ResultSetOptions.Scrollable」を削除

行を移動します。

SqlCeUpdatableRecord recItem = rsItem.CreateRecord();

while ループの上。

var cmdItem = conn.CreateCommand();
cmdItem.CommandText = "item_info";
cmdItem.CommandType = CommandType.TableDirect;
var rsItem = cmdItem.ExecuteResultSet(ResultSetOptions.Updatable);
var recItem = rsItem.CreateRecord();
while(reader.read())
{        
    recItem.SetString(1, cmdItem.SerialNo);
    recItem.SetInt32(10, 0);
    rsItem.Insert(recItem);
}
于 2015-12-28T09:30:20.600 に答える