【SQLite】SqlLite簡介

什麼是 SQLite?

1.>SQLite是一款輕型的數據庫,是遵守ACID的關係型數據庫管理系統,它包含在一個相對小的C庫中,實現了自給自足的、無服務器的、零配置的、事務性的 SQL 數據庫引擎。就像其他數據庫,SQLite 引擎不是一個獨立的進程,可以按應用程序需求進行靜態或動態連接。SQLite 直接訪問其存儲文件。
2.>SQLite是一種嵌入式數據庫,它跟微軟的Access差不多,只是一個.db格式的文件。但是與Access不同的是,它不需要安裝任何軟件,非常輕巧。很多軟件都有用到這個傢伙,包括騰訊QQ、迅雷(你在迅雷的安裝目錄裏可以看到有一個sqlite3.dll的文件,就是它了),以及現在大名鼎鼎的android等。SQlite3是它的第三個主要版本。就是SQLite3.0的意思。

SQLite特點

  • 不需要一個單獨的服務器進程或操作的系統(無服務器的)。
  • SQLite 不需要配置,這意味着不需要安裝或管理。
  • 一個完整的 SQLite 數據庫是存儲在一個單一的跨平臺的磁盤文件。
  • SQLite 是非常小的,是輕量級的,完全配置時小於 400KiB,省略可選功能配置時小於250KiB。
  • 支持ACID事務
  • SQLite 是自給自足的,這意味着不需要任何外部的依賴。
  • SQLite 事務是完全兼容 ACID 的,允許從多個進程或線程安全訪問。
  • SQLite 支持 SQL92(SQL2)標準的大多數查詢語言的功能。
  • SQLite 使用 ANSI-C 編寫的,並提供了簡單和易於使用的 API。
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運行。
  • 支持多種開發語言,C, C++, PHP, Perl, Java, C#,Python, Ruby等

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()!爲什麼不用一個固定的日誌文件呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章