常用記憶體資料庫介紹 六

2021-05-23 00:10:11 字數 2503 閱讀 7173

下面分別對sqlite

和h2進行了效能測試

6.1sqlite

測試方案

6.1.1  

測試環境

主機:作業系統:windows xp;

cpu:intel dual 2.2ghz;

記憶體:1.99gb

記憶體測試目標版本:sqlite 3.6.12

6.1.2  

測試資料

測試資料庫表ip_table

結構如下

欄位名

型別

id(pk)

integer

dst_ip

varchar(20)

agent_ip

varchar(20)

dst_mac

varchar(20)

dst_port

integer

dst_vlan

varchar(20)

6.1.2  

測試過程

使用c++

編寫了測試工程,啟動測試程式後,先分別插入50000

條和1000000

條資料,然後執行一系列的測試

6.1.3  

測試結果

用例名

5w(條)單個執行緒

100w(條)單個執行緒

100w(條)10個併發執行緒

初始插入時間2s

45s

初始插入時間(不加索引)

1.782s

38.109s

插入1條記錄

100納秒以內

100納秒以內

0.0016s

插入1000條記錄

0.047s

0.047s

0.453s

插入1000條記錄(無索引)

0.6s 1s

11.39s

查詢一條記錄

100納秒以內

100納秒以內

0.0033s

查詢一條記錄(不使用索引)

0.016s

0.375s

2.859s

查詢1000條記錄

0.016s

0.391s

2.828s

查詢1000條記錄(不使用索引)

0.015s

0.375s

2.906s

查詢全部記錄分組統計group by

0.688s

15.473s

查詢1000 條(結果排序 )

0.031s

0.39s

2.453s

查詢所有記錄(結果排序)

0.766s

16.203s

33.594s

更新一條記錄

100納秒以內

100納秒以內

0.0043s

更新一條記錄(不使用索引)

0.016s

0.359s

2.719s

更新10000條資料

0.062s

0.047s

更新10000條資料(無索引)

0.016s

0.375s

2.719s

刪除一條資料

100納秒以內

100納秒以內

0.0041s

刪除一條條資料(無索引)

0.125s

5.047s

刪除10000條資料

0.078s

0.078s

刪除10000條資料(無索引)

79-125ms

5.031s

結論:1.      

sqllite

記憶體資料庫的處理速度很快;

2.      

sqllite

記憶體資料庫在查詢資料時有索引的情況下,查詢、更新、刪除速度快;

3.      

sqllite

記憶體資料庫併發性比較差,可以認為併發能力為0;4.

sqllite

記憶體資料庫占用記憶體空間,100w

條資料在40m

左右(建立單個索引,6

個字段)

5.      

針對資料流探針來說,5w

條資料sqllite

歸併的速度在0.688s

,可以嘗試將部分功能用資料庫歸併實現。

6.      

sqllite

支援自定義函式,效率沒有測試,應該和他提供的api

效率差不多

7.      

sqllite

支援復合sql

語句

常用資料庫詳細介紹

資料庫安裝步驟下方 mysql資料庫安裝步驟 windows oracle資料庫安裝步驟 windwos sql server資料庫安裝步驟 windows redis快取資料庫安裝步驟 windows 一 資料庫簡介 資料庫 就是資料的倉庫,它是長期儲存在計算機內,有組織的 可共享的資料的集合。資...

資料庫介紹

1.基本 select 語句 select from table select 標識 選擇哪些列。from 標識從哪個表中選擇。2.選擇全部列 select from departments 3選擇特定的列 select department id,location id from departme...

資料庫介紹

資料庫是 按照資料結構來組織 儲存和管理資料的倉庫 是乙個長期儲存在計算機內的 有組織的 可共享的 統一管理的大量資料的集合。可以看看這些部落格 磁碟 記憶體 資料庫大體上可以分為 1 關係型資料庫 和 2 非關係型資料庫 1 關係型資料庫 rdbms 是指採用了關係模型來組織資料的資料庫,簡單來說...