2

簡単なクエリを実行したいのですが、時間がかかります。私のテーブルには、3 つの列があります。

id(int) 針(文字列) 単語(文字列)

needle は任意のタイプの文字にすることができ、英語ではありません。

word も任意のタイプの文字であり、英語ではありません。

3000 行あります。

簡単なクエリで針を単語に置き換えることができます。しかし、それは非常に遅く、100ワードで約2秒かかります。どうすれば速度を改善できますか?ありがとう

4

1 に答える 1

4

簡単なクエリで針を単語に置き換えることができます。しかし、それは非常に遅く、100ワードで約2秒かかります。どうすれば速度を改善できますか?ありがとう

TRANSACTIONupdate ステートメントを、パフォーマンスを急速に向上させるステートメントにラップすることをお勧めします(私自身でテスト済み)。

まず、パフォーマンスが急速に向上し、次にデータベースの処理がより安全になります。

疑似コードの基本的なスニペットは次のとおりです。

try {
   db.beginTransaction(); // starting transaction
   // perform updates
   db.setTransactionSuccessful(); // marks transaction successful i.e. commit()
}
finally {
   if (db != null) {
      if (db.inTransaction()) {
         db.endTransaction();
      }
      db.close();
   }
}
于 2013-04-15T16:39:14.417 に答える