今天主要不是寫程式,主要是測試 LiteDB 到底對於索引的處理結果,我這邊有三個測試 collection
FRIEND1- 一百萬的資料沒有做索引
FRIEND2- 前50 萬筆建立好後,製作索引,後面再寫入 50萬筆
FRIEND3- 一百萬筆資料建立好後,再建立索引
我知道在正常情況下,你是用 SQL Server 你對某張 Table 建立索引某欄位索引後,基本上之後就會有索引的功效
但是,LiteDB 是一個 NoSQL 架構的東西,再加上他是一個套件 base 的 DB ,這時候我就好奇到底結果是啥
關於建立索引 可以參考我這篇文章
這邊直接給結果
搜尋的 CODE:
Result:
FRIEND1 -No Index
Cost time:00:00:05.6197011
Count:19
Cost time:00:00:04.3512835
Count:19
Cost time:00:00:04.4416665
Count:19
Cost time:00:00:04.2916714
Count:19
Cost time:00:00:04.2452859
Count:19
Cost time:00:00:04.2105793
Count:19
Cost time:00:00:04.4872268
Count:19
Cost time:00:00:04.2228795
Count:19
Cost time:00:00:04.2496372
Count:19
Cost time:00:00:04.4406661
Count:19
--------------------------------------------------
FRIEND2 -Half Index
Cost time:00:00:01.3297598
Count:19
Cost time:00:00:01.1551111
Count:19
Cost time:00:00:01.1932829
Count:19
Cost time:00:00:01.3067887
Count:19
Cost time:00:00:01.1906908
Count:19
Cost time:00:00:01.2835957
Count:19
Cost time:00:00:01.1776809
Count:19
Cost time:00:00:01.3952630
Count:19
Cost time:00:00:01.2302142
Count:19
Cost time:00:00:01.2056005
Count:19
--------------------------------------------------
FRIEND3 -All Index
Cost time:00:00:01.2406767
Count:19
Cost time:00:00:01.3009102
Count:19
Cost time:00:00:01.2010493
Count:19
Cost time:00:00:01.2404739
Count:19
Cost time:00:00:01.2047526
Count:19
Cost time:00:00:01.4057148
Count:19
Cost time:00:00:01.2531256
Count:19
Cost time:00:00:01.2084465
Count:19
Cost time:00:00:01.2208371
Count:19
Cost time:00:00:01.1915381
Count:19
結論: FRIEND2 跟 FRIEND3 搜尋速度差不多,製作過之後,基本上後面資料都會有製作索引,當然我相信相對的寫入速度可能會慢點,這篇雖然無聊但是花我很多時間
這邊我就沒有測試了。