假设没有索引,仅基于一个字段排序与基于多个字段排序有显着的性能差异吗?
db.movies.aggregate([
{ $sort: { likes: -1 } }
{ $limit: 100 }
])
对
db.movies.aggregate([
{ $sort: { likes: -1,
views: -1,
comments: -1,
bookmarked: -1 ,
dislikes: 1
}
},
{ $limit: 100 }
])
如果我正在构建一个APP,第二个查询会扩展吗?时间成本会不会显着增加
以一种过于简单的方式,它取决于
a) 你的电脑有多少内存
b) 你的数据集有多大——它会保存在内存中吗
如果是这样,那么性能差异将非常微不足道,您实际上不会检测到它。
如果没有,你必须从磁盘读取并可能在你的计算机上使用交换,然后差异将是显着的。