我有一个非常简单的视图来测试使用大约4400万个文档索引CouchDB数据库。视图如下所示:
function(doc) {
if (doc.type_) { // I added a type_ property to each doc
emit(doc.type_, 1);
};
};
这个结果(使用_count reduce函数)是:
+---+----------+
| a | 154716 |
| b | 162353 |
| c | 170626 |
| d | 180893 |
| e | 7590 |
| f | 8419 |
| g | 44420508 |
+---+----------+
我在Windows 10(Surface Pro i7)上使用CouchDB 2.1并且索引总共花费了大约3个小时(我在索引期间关闭并打开了计算机,但我认为这不需要索引到从头开始重建。
上面写的视图必须“触摸”数据库中的每个文档。考虑到这一点,我如何对更复杂的视图如何执行进行某种定性估计?
即。既然索引已经触及了数据库中的每个文档,那么对每个文档的属性进行一些操作会大大影响性能吗?
在我看来,它不会 - 时间仍将被测量为O(n)ish。这是对的吗?
在这种情况下,我应该能够估计触及每个文档的视图索引应该花费与我上面写的简单视图相同的时间,+ / -