2
我從http://olex.openlogic.com/packages/sqlite/3.7.2 檢查了3.7.2 SQLite的步驟操作我也參加了最新的3.7.9從http://www.sqlite.org/sqlite-amalgamation-3070900.zip爲什麼SQLite的3.7.2比3.7.9快3倍
都使用相同的編譯Borland的C++編譯器5.5.1設置
@echo off
set PATH=C:\Borland\Bcc55\Bin;%PATH%
rem Compilation Options
rem http://www.sqlite.org/compile.html#omitfeatures
set extra=%extra% -DSQLITE_DEFAULT_MEMSTATUS=0
set extra=%extra% -DSQLITE_TEMP_STORE=2
set extra=%extra% -DSQLITE_ENABLE_RTREE=1
set extra=%extra% -DSQLITE_ENABLE_COLUMN_METADATA=0
set extra=%extra% -DSQLITE_OMIT_DEPRECATED=1
set extra=%extra% -DSQLITE_OMIT_COMPILEOPTION_DIAGS=1
set extra=%extra% -DSQLITE_OMIT_PROGRESS_CALLBACK=1
set extra=%extra% -DSQLITE_OMIT_UTF16
set extra=%extra% -DSQLITE_OMIT_LOAD_EXTENSION=1
set extra=%extra% -DSQLITE_OMIT_EXPLAIN
@echo on
bcc32.exe -6 -O2 -c -d -u- -w- %extra% sqlite3.c
pause
隨着3.7.2我需要500毫秒執行25000個操作,其中3.7.9採用樹倍以上的時間。
的SQL語句是平原
select * from Cards
其中卡是具有16個文本和4個整數列的表
已SQLite的成爲了最新版本的慢?
500ms只能遍歷25000條記錄?我很確定你做錯了什麼。在我的測試中(使用我的包裝),我可以使用3.7.9版本在不到150ms的時間內迭代140000條記錄,這比使用先前版本更快。如果沒有更多的代碼,就無法猜測問題出在哪裏。 – Linas 2012-01-03 11:23:51