我有一个数据库(300MB 和 42,924 个文档),包含来自大约 200 个用户的大约 20 种不同类型的文档。文档的大小范围从几个字节到许多 KiloBytes(150KB 左右)。
卸载服务器后,以下复制过滤器功能大约需要 2.5 分钟才能完成。加载服务器时,需要 >10 分钟。
任何人都可以评论这些时间是否是预期的,如果不是,建议我如何优化事情以获得更好的性能?
function(doc, req) {
acceptedDate = true;
if(doc.date) {
var docDate = new Date();
var dateKey = doc.date;
docDate.setFullYear(dateKey[0], dateKey[1], dateKey[2]);
var reqYear = req.query.year;
var reqMonth = req.query.month;
var reqDay = req.query.day;
var reqDate = new Date();
reqDate.setFullYear(reqYear, reqMonth, reqDay);
acceptedDate = docDate.getTime() >= reqDate.getTime();
}
return doc.user_id && doc.user_id == req.query.userid && doc._id.indexOf("_design") != 0 && acceptedDate;
}