NO IMAGE

SQLite是一種嵌入式資料庫,它的資料庫就是一個檔案。由於SQLite本身是C寫的,而且體積很小,所以,經常被整合到各種應用程式中,甚至在iOS和Android的App中都可以整合。

Python就內建了SQLite3,所以,在Python中使用SQLite,不需要安裝任何東西,直接使用。

 

SQLite側重磁碟IO最大化
MySQL側重網路IO最大化

SQLite 資料庫優缺點都很明顯,我說說缺點:1.鎖的粒度比較粗,導致一些事務做不好2.併發效果不是很好的,主要作為一個local 資料庫,網路做起來比較麻煩,更不要說叢集了,所以資料備份安全都要花很大力氣做。3作為rdbs 讀寫不能分離,哎!4.他的效能主要依靠disk ,還有就是他的處理thread 很容遇到短板!

sqlite 是本地嵌入式資料庫,也就是提供一個 lib 給程式呼叫的那種。 它不能提供遠端服務(除非你給它包裝一個服務端), 多程序讀寫同個檔案也有一些限制。 適合客戶端存一些資料,或者併發不高的服務端處理一些本地資料。該用 oracle / mysql 的場合, sqlite 根本就不是備選選手。

SQLite是一個嵌入式SQL資料庫引擎。與大多數其他SQL資料庫不同,SQLite沒有單獨的伺服器程序。SQLite直接讀寫普通磁碟檔案。具有多個表,索引,觸發器和檢視的完整SQL資料庫包含在單個磁碟檔案中。資料庫檔案格式是跨平臺的 – 您可以在32位和64位系統之間或在big-endian和 little-endian 體系結構之間自由複製資料庫 。這些功能使SQLite成為應用程式檔案格式的流行選擇。

 

一般調查結果

  1. SQLite與儲存在磁碟上的單獨檔案中的blob相比具有競爭性,並且通常比讀取和寫入更快。

  2. 當開啟防病毒保護時,SQLite比在Windows上直接寫入磁碟要快得多。由於防病毒軟體在Windows中預設啟用,這意味著SQLite通常比Windows上的直接磁碟寫入快得多。

  3. 對於所有系統以及SQLite和直接到磁碟I / O,讀取比寫入快一個數量級。

  4. I / O效能因作業系統和硬體而異。在得出結論之前進行自己的測量。

  5. 其他一些SQL資料庫引擎建議開發人員將blob儲存在單獨的檔案中,然後將檔名儲存在資料庫中。在這種情況下,在開啟和讀取檔案之前必須首先查詢資料庫以找到檔名,只需將整個blob儲存在資料庫中,SQLite就可以提高讀寫效能。有關詳細資訊,請參閱內部與外部BLOB文章。