运行Delphi XE10的MongoDB例程,测试Delphi插入记录性能
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