每天4億行SQLite訂單大資料測試(原始碼)

2021-09-07 11:46:47 字數 1425 閱讀 3469

sqlite作為嵌入式資料庫的翹楚,廣受歡迎!

新生命團隊自2023年以來,投入大量精力對sqlite進行學習研究,成功應用於各系統非致命資料場合。

當然,sqlite不適合多執行緒高併發寫入,多執行緒高併發讀取倒是非常不錯。

因為資料庫就在程序內,高併發讀取一般比其它rds要快一大截。

總的來說,sqlite資料庫甭管多少資料多大庫檔案,只要配置得當,記憶體管夠,效能不是太大問題!

為了驗證sqlite的效能巔峰,我們來做乙個大資料測試。

模擬每天4億票銷售訂單,分表分庫,每天乙個資料庫檔案,有訂單號、部門節點、時間等。

1, test專案生成4億行訂單資料,主鍵自增id,訂單號建立索引,檔案大小26.5g

3, 第二頁,99毫秒,作業系統檔案對映快取生效

4, 第20000頁,147毫秒,系統快取依然生效

5, 第200000頁,32021毫秒,距離太遠,檔案系統快取沒有命中

6, 第200001頁,867毫秒,快取命中

7, 查詢乙個中間訂單號000199999980,20毫秒,索引命中

顯然,只要有索引,多大資料都不怕

8, 本地記憶體占用150m。雖然整個資料庫26.5g,但作業系統只會載入需要部分

對於重要程度不是特別高的場合,可以大量使用sqlite庫儲存歷史資料,平時用不到的時候只佔硬碟,不佔記憶體

9, 記錄數select count,362058毫秒,約6分鐘,超級慢

大資料原始碼 

大資料映象 

4億訂單資料 

2億訂單資料 

c#/.net大資料討論群:1600800

每天學點linux命令(4)

上節學習了建立目錄的命令,現在就學習下刪除目錄的命令 5 rmdir 名稱 rmdir 使用許可權 當前目錄有適當許可權的所有使用者 使用方式 rmdir p dirname 解釋 該命令用於刪除空的目錄 引數 p是當子目錄被刪除後使它成為空目錄的話,則順便一併刪除 舉例 gu gu r410iu ...

每天學習虛幻4(一)

程式設計指南 總結虛幻4官方的文件模組主要可以分為編輯器模組 引擎模組 藍圖模組 程式設計模組 四個模組。有以下幾個部分組成 虛幻4的專案部分 編輯器介面 基本操作 關卡編輯器 關卡 actor和幾何體 元件 管理內容 vr模式,多使用者編輯 編輯器指令碼與自動化 開發工具。編輯模組,我第一印象就是...

4 序列式容器

template class vector 成員函式舉例 注意其中的記憶體管理 void vector insert iterator position,size type n,const t x else else ifdef stl use exceptions catch endif stl ...