sqlite的主要優點:
零配置(Zero Configuration)
SQlite3不用安裝,不用配置,不用啟動,關閉或者配置資料庫例項。當系統崩潰後不用做任何恢復操作,再下次使用資料庫的時候自動恢復。
緊湊(compactness):
SQLite是被設計成輕量級,自包含的。一個頭檔案,一個lib庫,你就可以使用關係資料庫了,不用任何啟動任何系統程序。一般來說,整個SQLITE庫小於225KB。
可移植(Portability)
它是執行在Windows,Linux,BSD,Mac OSX和一些商用Unix系統,比如Sun的Solaris,IBM的AIX,同樣,它也可以工作在許多嵌入式作業系統下,比如QNX,VxWorks,PalmOS, Symbin和Windows CE。
最大特點:採用無資料型別,所以可以儲存任何型別的資料,SQLite採用的是動態資料型別,會根據存入值自動判斷。SQLite具有以下五種資料型別:
1.NULL:空值。
2.INTEGER:帶符號的整型,具體取決有存入數字的範圍大小。
3.REAL:浮點數字,儲存為8-byte IEEE浮點數。
4.TEXT:字串文字。
5.BLOB:二進位制物件。
但同樣的,這樣的做法會導致在插入和修改時,要花去更多的時間。
SQLITE的缺點:
1:SQLITE不可儲存過多的資料庫,它的效能發揮最好只能在存放較小的資料量情況下。不要把它當做MYSQL甚至ORACLE來使用。它只是一個200K的資料庫。
2:sqlite3不像MYSQL那樣使用固定日誌檔案,所有使用insert、update、delete的執行效率只是一般,sqlite3的一個事務,需要呼叫4次fsync()操作,而一般的大型資料庫,如mysql只用到了2次。sqlite3對每個事務都建立一個臨時檔案來記錄日誌,這個日誌建立、更新和刪除竟然使用了3次fsync()!為什麼不用一個固定的日誌檔案呢?實在難以理解設計者的思路。可能他們把重點放在"Select"效能上吧。透過閱讀sqlite3-3.5.1的原始碼,發現作者也試圖對這個問題進行修正,可能由於可靠性的原因,一直沒有正式公佈。
sqlite的主要優點:
零配置(Zero Configuration)
SQlite3不用安裝,不用配置,不用啟動,關閉或者配置資料庫例項。當系統崩潰後不用做任何恢復操作,再下次使用資料庫的時候自動恢復。
緊湊(compactness):
SQLite是被設計成輕量級,自包含的。一個頭檔案,一個lib庫,你就可以使用關係資料庫了,不用任何啟動任何系統程序。一般來說,整個SQLITE庫小於225KB。
可移植(Portability)
它是執行在Windows,Linux,BSD,Mac OSX和一些商用Unix系統,比如Sun的Solaris,IBM的AIX,同樣,它也可以工作在許多嵌入式作業系統下,比如QNX,VxWorks,PalmOS, Symbin和Windows CE。
最大特點:採用無資料型別,所以可以儲存任何型別的資料,SQLite採用的是動態資料型別,會根據存入值自動判斷。SQLite具有以下五種資料型別:
1.NULL:空值。
2.INTEGER:帶符號的整型,具體取決有存入數字的範圍大小。
3.REAL:浮點數字,儲存為8-byte IEEE浮點數。
4.TEXT:字串文字。
5.BLOB:二進位制物件。
但同樣的,這樣的做法會導致在插入和修改時,要花去更多的時間。
SQLITE的缺點:
1:SQLITE不可儲存過多的資料庫,它的效能發揮最好只能在存放較小的資料量情況下。不要把它當做MYSQL甚至ORACLE來使用。它只是一個200K的資料庫。
2:sqlite3不像MYSQL那樣使用固定日誌檔案,所有使用insert、update、delete的執行效率只是一般,sqlite3的一個事務,需要呼叫4次fsync()操作,而一般的大型資料庫,如mysql只用到了2次。sqlite3對每個事務都建立一個臨時檔案來記錄日誌,這個日誌建立、更新和刪除竟然使用了3次fsync()!為什麼不用一個固定的日誌檔案呢?實在難以理解設計者的思路。可能他們把重點放在"Select"效能上吧。透過閱讀sqlite3-3.5.1的原始碼,發現作者也試圖對這個問題進行修正,可能由於可靠性的原因,一直沒有正式公佈。