私はこのコードではPython(2.7)にsqlite3のに非常に効率的なバルク挿入を行うことができます。Sqlite3 Python:効率的な一括更新を行うには?
cur.executemany("INSERT INTO " + tableName + " VALUES (?, ?, ?, ?);", data)
しかし、私は更新が効率的に動作させることはできません。私はそれがデータベース構造/索引付けの問題かもしれないと思っていましたが、100行のテーブルが1つしかないテストデータベースでさえ、更新にはまだ約2〜3秒かかります。
私は別のコードのバリエーションを試してみました。私が持っている最新のコードはthis answerからの更新とexecutemanyについて前の質問にあるが、それは私が作った他の試みとして私のために同じように遅いです:
data = []
for s in sources:
source_id = s['source_id']
val = get_value(s['source_attr'])
x=[val, source_id]
data.append(x)
cur.executemany("UPDATE sources SET source_attr = ? WHERE source_id = ?", data)
con.commit()
どのように私は大きなを行うには、このコードを向上させることができ一括更新は効率的ですか?
感謝。すでにインデックスが作成されています。そこから改善することを願っています:) – LunaiThi