我正在Server 2012和MongoDB 2.4.9之间进行一些性能测试。我在网上做了一些研究,发现了许多比较这两个数据库之间只比较插入性能的比较。我只对没有索引的select性能感兴趣。我设置了一个非常简单的测试。这是规格
Server安装
MongoDB安装
当我插入数字时,它们在两个数据库中都是完全相同的数字。随机数从1到1000不等。
Server查询
select id from a101 where id > 995MongoDB查询
var q = Query.GT("id1", 995);
foreach (var i in collection.Find(q))
{
values.Add(i.id1);
}结果:
对于我的模式,我不需要任何联接,只有非规范化数据-这就是为什么我考虑MongoDB。在在线阅读基准测试之后,我预计mongoDB要比Server快很多倍。我是不是做错了什么?再次,我想测试没有索引。
发布于 2014-03-23 18:26:12
在这种情况下,MongoDB可能要慢5倍,因为它需要读取和输出5倍的数据。
SQL表中的一行仅为4字节。但是在MongoDB中,它是一个4字节的整数加上一个12字节的ObjectId。此外,字段名是每个单独文档的一部分。字符串_id和id1是您检索的每个文档的一部分,因此添加了一些额外的字节。
这只是实际的有效载荷。当您查看BSONSpec.org时,可以看到您的文档由以下代码表示:
0x01表示“现在来了一个ObjectId”_id的4个字节0x10表示“现在有一个32位整数”(最小的整数)id1的4个字节0x00总共是31个字节。
https://stackoverflow.com/questions/22593722
复制相似问题