現在、健康的な時間内にSQLiteデータベースレコードを大規模に更新するのに問題があります。SQLiteレコードの更新速度が改善されました
私は約70,000レコードの小さなデータベースを持っています。私は、レコードをフィルタリングし、コミットするために一括編集するためにNavicatを使用している個人のオフィスをいくつか持っています。 1つのフィールドの大量のレコードをUPDATEしようとすると、すべてがクロールになります。生のSQLクエリを見ると、プログラムがUPDATE ..SET ..を使って操作を実行していることがわかります。
私の質問は、このクエリをより速く実行できるようにすることです。私は更新するためにレコードを照合するために使用される列にSQLiteの自動インデックスを持っていますが、私はすべてを読んで検索しています。 2万レコードの1つのフィールドを更新することは、文字通りNavicatを使用するかどうかにかかわらず、3時間に近づいています。データベース全体は30MBしかないので、私は間違ったことをする必要があります。
他のすべてのデータベース操作はすばらしいスピードで実行され、何が間違っているのかわからず、SQLiteの獣医からのガイダンスを探しています。
上の破損データの余分なリスクの非ゼロの量が付属していますUPDATEはサブクエリを使用しますか? –
生の出力から見ることのできる例を次に示します。UPDATE table SET column = 1.0 WHERE(column_value = 'value') column_valueはSQLiteの自動インデックス付きカラムです。 –