有一個帳戶文檔。這個文件有1k個席位。對於每個席位,我們發出一個文檔。自然,你會期望這會很慢。地圖功能像這樣運行:Couchdb超慢視圖,100%cpu使用率
function(doc) {
if (doc.type == 'account') {
doc.seats.map(function(seat) {
emit(seat.userID, doc))
}
}
}
但是,刪除doc.seats,然後發佈更小的文檔似乎沒有幫助。
function(doc) {
if (doc.type == 'account') {
doc.seats.map(function(seat) {
delete doc.seats
emit(seat.userID, doc))
}
}
}
有沒有人明白爲什麼刪除座位不加快速度?我們唯一可以加速的方式是不發佈doc對象,只是發佈一個id。
function(doc) {
if (doc.type == 'account') {
doc.seats.map(function(seat) {
emit(seat.userID, doc.id))
}
}
}
這是一個循環在沙發視圖地圖上的文檔的數組問題?
就數據而言,原始文檔是99%的座位數組。所以如果我發出減去該數組的文檔,是不是應該給予提振? - 其實,回頭看我的代碼,刪除可能不會像我期望的那樣工作,因爲我正在運行它。map()方法 – Elliot
啊,我相信doc是不可變的。查看我的更新。 – sarwar