MongoDB C#驱动程序:执行查询时会发生什么?

时间:2016-04-30 08:37:49

标签: c# mongodb performance

我正在将MongoDB解决方案的性能与其他数据库模型进行比较,因此我需要在执行查询时获得一些准确的时序信息。

(在我的例子中,使用MongoDB C#驱动程序),当我执行FindFindAsync时,服务器端究竟发生了什么以及传递了什么数据?服务器执行查询是否是唯一的事情,例如,我对该游标进行ToList(),通过网络传输文档?

或者,当我真正想要检索文档时,查询是仅执行(全部或部分)?或者,有关结果的某些信息已经通过调用Find

传输

1 个答案:

答案 0 :(得分:0)

FindFindAsync都允许以相同的性能构建异步查询:

当您FindAsync时,它会返回不会一次加载所有文档的光标,但会为您提供逐个检索文档的界面来自数据库游标(如果查询结果很大,它会很有用)。

方法Find通过方法ToListAsync为您提供更简单的语法,其中从光标中检索文档并一次性返回所有文档

但是FindFindAsync都没有从服务器检索任何数据,直到你要求它(按游标迭代)。

希望,这有帮助。

相关问题