Delphi XE10支持MongoDB的數據庫,提供了個例子restaurants可批量導入數據。
本文對比Delphi例子與MongoDB自帶的mongoimport導入批量數據的性能。
步驟:
1.運行例子前需要先安裝MongoDB, MongoDB安裝及運行mongod.exe,安裝完成後bin目錄中有mongoimport.exe,可將json批量數據導入到數據庫中.
2.Delphi MongoDB例程數據庫保存在: C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Database\FireDAC\DB\Data
目錄下的restaurants.json文件中,需要將這個json文件導入到MongoDB中。
3.進入命令行模式,
按Win鍵+R
輸入cmd回車
4
進入C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Database\FireDAC\DB\Data目錄
C: cd "C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Database\FireDAC\DB\Data"
5.用mongoimport工具測試導入性能
mongoimport -h 127.0.0.1 -d test -c restaurants restaurants.json
-h host主機mongodb服務器地址,如果是本機不輸入-h 127.0.0.1
-d 數據庫名
-c 集合名
在測試機器導入restaurants.json運行時間為1.622s左右
2016-04-22T20:45:50.926+0800 connected to: 127.0.0.1 2016-04-22T20:45:52.548+0800 imported 25359 documents
6.打開Delphi例程,打開
C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Database\FireDAC\Samples\DBMS Specific\MongoDB\Restaurants
目錄下的工程。
運行工程,點擊Load Data,程序也將restaurants.json導入到數據庫中。
在測試機器上運行時間為
從測試結果看Delph 插入restaurants.json速度比mongoimport慢很多7.836:1.622 = 4.83:1