1. 程式人生 > >【MongoDb】一次關於Oracle和MongoDb的插入和查詢效能測試

【MongoDb】一次關於Oracle和MongoDb的插入和查詢效能測試

本次實驗是在筆者上學期期末一次課程實習中的一部分,現在整理出來以供參考。

本次資料用的是不同數量級別上的資料分別在Oracle和MongoDb中進行實驗的。
其中兩者的表結構一樣,都是如下欄位:
這裡寫圖片描述

得出如下結論:

沒有索引的情況下

Oracle:
1萬條
    耗時:2341ms

10萬條
    耗時:22544ms

100萬條
    耗時:257766ms

1000萬條:
    耗時:5487448ms

MongoDb:

1萬條
    耗時:1065ms

10萬條
    耗時:9221ms

100萬條
    耗時:57644ms

1000萬條:
    耗時:515884ms
利用  select * from TOMCAT_LOG t where time>to_date('2016/12/14 8:51:10','yyyy/mm/dd hh24:mi:ss') and time<to_date('2016/12/14 8:59:10','yyyy/mm/dd hh24:mi:ss') and rownum<100

查詢資料的對比

    Oracle:
    1萬條
        耗時:727ms

    10萬條
        耗時:760ms

    100萬條
        耗時:1076ms

    1000萬條:
        耗時:4080ms

    MongoDb:

    1
萬條 耗時:31ms 10萬條 耗時:140ms 100萬條 耗時:972ms 1000萬條: 耗時: 10469ms

有索引的情況下

插入資料的對比

    Oracle:
    1萬條
        耗時:1776ms

    10萬條
        耗時:14250ms

    100萬條
        耗時:149029ms

    1000萬條:
        耗時:1344311ms

    MongoDb:

    1萬條
        耗時:1648ms

    10萬條
        耗時:5830ms
100萬條 耗時:53405ms 1000萬條: 耗時:521454ms 統計分析資料的對比 Oracle: 1萬條 耗時:691ms 10萬條 耗時:714ms 100萬條 耗時:1122ms 1000萬條: 耗時:4046ms MongoDb: 1萬條 耗時:47ms 10萬條 耗時:125ms 100萬條 耗時:991ms 1000萬條: 耗時:9930ms

其中,得到插入的效能曲線函式如下:
這裡寫圖片描述