於項目需要,在客戶端需要做數據存儲功能,考慮到部署方便同時滿足功能需要的情況下選擇了SQLCE 和SQLite兩種數據庫進行客戶端數據存儲。當然還有很多其他的方式做本地數據存儲,比如本地文件存儲、微軟的Access等也可以做本地數據存儲,都不再本次測試的考慮范圍之內。本次主要針對SQLCE3.5、SQLCE4.0 和SQLite數據庫的性能對比。
SQL CE: 全名(SQL Server Compact)該數據庫為微軟的產品,免費試用;數據庫存儲在擴展名為.sdf,最大容量為4GB。
SQLite:開源數據庫,免費試用;數據庫擴展名.db 或者.db3,理論上SQLite支持140TB的容量。當然如果數據量這么大的情況下可以考慮其他的數據庫。
測試方法:通過一個連接的同時操作多條數據的方式測試數據庫插入、查詢的處理速度;SQLCE包含兩個版本SQLCE3.5和SQLCE4.0,分別進行了測試。下圖為數據庫測試的記錄報告。
說明:該測試記錄在一張有4個字段的數據表上進行測試。
操作系統:windows10
處理器:Intel(R) Core(TM) I706820HQ cpu @2.70GHz
內存:8G
硬盤:SSD
總結:
性能對比:
數據插入:不增加事務SQLCE的性能要比SQLite好很多,但是如果增加事務操作上SQLite綜合效率要比SQLCE塊大概5-10倍左右。
查詢:SQLCE要優於SQLite 2倍左右。
修改和刪除幾乎差不太多。
部署方便程度對比:
在開發.NET平台的程序時,SQLite只需要一個DLL文件即可完成對數據庫的操作。但是SQLCE需要額外安裝SQLCE的安裝包才可以支持SQLCE數據庫。從這個方面說SQLCE的部署要比SQLite復雜一些。
數據庫容量對比:
SQLCE只能支持4GB的數據存儲量,SQLite理論上支持140TB的數據存儲。所以在存儲量上SQLite優勢很大。
備注:以上測試只是結合業務場景需要可能存在不科學之處,僅供參考和學習使用。