下面分別對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 是指採用了關係模型來組織資料的資料庫,簡單來說...