mysqlの挿入が非常に遅いことに気付きました。テストとデモンストレーションのために、次の表を使用しました。
+----------+-----------------------------------------------+
| Table | Create Table |
+----------+-----------------------------------------------+
| ik_b64_8 | CREATE TABLE `incr_tbl` (
`cnt` int(11) NOT NULL,
PRIMARY KEY (`cnt`)
) ENGINE=InnoDB DEFAULT CHARSET=ascii COLLATE=ascii_bin |
+----------+-----------------------------------------------+
およびPythonコード:
def profile_basic(cnt):
db = database.Connection("localhost","testing_delme","root", "")
t1 = time.time()
for ii in range(cnt):
db.execute("INSERT INTO testing_delme.incr_tbl VALUES (%s)", ii)
print time.time() - t1
この挿入専用コードを空のテーブルで実行すると、1K挿入に65秒かかります。私はinnodb_flush_log_at_trx_commit=1を持っていますが、テーブルにはデータを失う余裕がないため、これが必要です。私の質問は、このセットを使用すると、挿入が非常に遅くなる可能性があるということです。それとも私は何か他のものを逃していますか?