1. 程式人生 > >Embedded資料庫比較:Access、SQLite、HSQLDB、Sybase、MySQL、DB4O

Embedded資料庫比較:Access、SQLite、HSQLDB、Sybase、MySQL、DB4O

引自:http://www.cnblogs.com/kenkofox/archive/2011/03/18/1988422.html

一、Access

    資料型別有些另類,而且密碼太容易被攻破,效能不高,只能用在Windows程式上。
    一般說來,單個表不超過10萬少條記錄為好,整個資料庫不超過100M為好。ACCESS對資料庫容量限制為2G,但超過100M後效能便

會有很大折扣。
二、HSQLDB
    支援csv,配置分發容易,大資料量情況下效能不佳,這和sql執行效率無關,效能瓶頸在硬碟檔案上,畢竟由於hsqldb沒有在數

據檔案儲存上花時間,只是掛個csv。只能用於Java程式中。
三、firebird
    資料檔案是單一,部署、分發相對簡單;用embedded方式,只需要把icudt30.dll、icuin30.dll、icuuc30.dll、

jaybird21.dll、fbembed.dll五個檔案和目錄intl(裡面有兩個檔案,是處理字符集的)放在程式啟動目錄就行了;中文支援的不錯

,但是要在建庫的時候使用GB_2312字符集。有.NET、C++、Java多個Binding。
四、Sybase asa
    資料能加密,效能不錯,需要付費。
五、derby
    效能和易用性都不錯,但embedded版本完全沒有資料認證,導致誰都可以開啟資料庫執行sql語句,而且資料庫是以一個目錄存

儲的。只能用於Java程式中。
六、sqllite
    官方發行版本不支援資料加密,另外,對中文,尤其是用中文order by的時候時常錯誤;還有就是完全沒有使用者認證;不過執行

效率不錯。幾乎稍微流行點的程式語言都有相應的Binding。
七、mysql
    雖然mysql也可以不通過安裝,直接拷貝就能使用,但是距離embedded還差一塊。
八、DB4O
    面向物件的資料庫,使用DB4O無需ORM工具就可以直接進行物件儲存。支援Java和.Net平臺。可以自定義資料加密演算法,效能優

良,單檔案。雖然也支援Server模式,但最適合用於Embedded。

    此外還有VistaDB、BerkeleyDB之類可以選擇。