我是DBD :: SQLite,它使用perl在SQlite3 db中插入一些數據。使用Perl API使SQlite3插入更快
我注意到,插入(插入35k行)需要很多時間。 有什麼辦法可以讓它更快。
優化對我來說很重要,而不是數據同步。 我如何使用perl優化它?
請幫忙。
我是DBD :: SQLite,它使用perl在SQlite3 db中插入一些數據。使用Perl API使SQlite3插入更快
我注意到,插入(插入35k行)需要很多時間。 有什麼辦法可以讓它更快。
優化對我來說很重要,而不是數據同步。 我如何使用perl優化它?
請幫忙。
嘗試做你插入前執行該語句:
PRAGMA synchronous = OFF
見SQLite的文檔more information。
另外,正如Ilion所說,嘗試僅使用prepare()
該聲明,然後用不同的綁定值重新多次。關閉AutoCommit
,然後明確提交每插入N行也可能有所幫助,對於某些N值。
請確保您使用的是準備好的語句,因此它不必分析每個插入。也可以嘗試通過將它們包圍在Begin ... Commit as described in this FAQ來對插入語句進行分組。
除了完全關閉自動提交之外,您還可以嘗試使用大型事務。通常,對單行插入有所不同。
你在做單行插入或批量插入嗎? – 2012-01-16 15:13:47
目前正在做單行插入。 – kailash19 2012-01-16 15:16:48
Perl是一個API嗎?你什麼意思? – Zaid 2012-01-16 15:36:39