硬件环境:三台4核CPU、32G内存、100G磁盘
测试数据量: 1.96e
Order表结构如下:
{
"_id": ObjectId,
"uid": "uid186642", //有索引
"name": "商品214",
"money": 899
}
语句类型 | 查询语句 | 有无索引 | 测试结果(时间,返回数据量) |
---|---|---|---|
等值查询 | db.order.find({uid:“uid150902”}) | 有 | 7ms, 949条 |
等值查询 | db.order.find({money:999}) | 无 | 28.57s, 1929条 |
In查询 | db.order.find({uid: {$in: [“uid100000”, “uid123456”, “uid089345”]}}) | 有 | 19ms, 2860条 |
In查询 | db.order.find({money: {$in: [300, 450, 999]}}) | 无 | 30.37s, 5871条 |
范围查询 | db.order.find({uid:{$gt:“uid198800”}}) | 有 | 4.59s,117w条 |
范围查询 | db.order.find({money:{$gt:990}}) | 无 | 29.00s, 196.9w条 |
聚合操作 | 查看某个uid下花钱的总数 | N/A | 354.91s, 20w条 |
全表扫描 | db.order.find({}) | N/A | 75.174s, 1.96e条 |