0
using (SQLiteTransaction trans = sql_con.BeginTransaction())
{
    commandInsert.Transaction = trans;

    commandInsert.Parameters["@One"].Value = "ONE";
    commandInsert.Parameters["@Two"].Value = "TWO";
    commandInsert.Parameters["@Three"].Value = "THREE";
    commandInsert.Parameters["@Four"].Value = "FOUR";
    commandInsert.Parameters["@FIVE"].Value = "FIVE";
    commandInsert.Parameters["@SIX"].Value = "SIX";
    commandInsert.Parameters["@SEVEN"].Value = "SEVEN";
    commandInsert.Parameters["@EIGHT"].Value = "EIGHT";
    commandInsert.Parameters["@NINE"].Value = "NINE";
    commandInsert.Parameters["@TEN"].Value = "TEN";
    commandInsert.Parameters["@ELEVEN"].Value = "ELEVEN";
    commandInsert.Parameters["@CommentCount"].Value = 
    commandInsert.Parameters["@NUMBER1"].Value = 5;
    commandInsert.Parameters["@NUMBER2"].Value = 6;
    commandInsert.Parameters["@NUMBER3"].Value = 8;

    commandInsert.ExecuteNonQuery();

    trans.Commit();
}

トランザクションでパラメーター化されたコマンドを使用して、1300 レコードを挿入しています。1 つの一意の列に 1 つのインデックスがありますが、インデックスを削除しても、まだ 10 秒かかります。

これは私の接続文字列です:

string ConnectionString = 
      "Data Source=Data/database.db3;Version=3;Compress=True;Count Changes=off;Journal Mode=off;Pooling=true;" + 
      "Cache Size=10000;Page Size=4096;Synchronous=off";

どうすればこれをスピードアップできますか?

EDIT 問題は解決しました...問題は、挿入に含まれていない言語の検出にありました(3msかかります)。時間がかかってすみません…

4

1 に答える 1

-2

SQL サーバーを使用している場合は、SQL ステートメントで「推定実行計画の表示」を使用して、別の部分よりも多くのリソースを使用している部分があるかどうかを確認できます。たとえば、選択クエリの結果を使用してテーブルにデータを入力する場合、複雑な結合を含む選択により速度が低下する可能性があります。

于 2013-09-05T10:11:40.270 に答える