在CouchDB中我有一個非常簡單的地圖功能,這樣我可以通過有效地TRIPID查找列表:Pouchdb如何使用鍵來優化查詢?
// by_tripid.js
function (doc) {
if (doc.type == "list") {
for (var tripid in doc.tripids) {
emit(doc.tripids[tripid], null)
}
}
}
意圖是指數TRIPID名單。並且能夠通過指定鍵(tripid)來通過tripid檢索列表。
在Pouchdb中,我可以在db.query調用中使用大致相同的映射函數。
但是,我不想實際上最終返回所有列表,然後通過tripid過濾它們。這似乎相當低效。我不確定Pouchdb的視圖技術。視圖在查詢時被創建和使用,所以我猜Pouchdb並不是真正應用地圖來創建索引。我想這就像Couchdb中的臨時視圖,所以效率也許不在那裏。
一些專家意見將不勝感激。
謝謝,馬特
在這種情況下什麼是大分貝? – fiatjaf
@GiovanniP沒有「大」的硬定義。在這種情況下,我們有一個線性算法(在根中它只是一個for循環/ forEach調用),所以隨着記錄數增加查詢數據庫所需的時間就會增加。根據應用程序的不同,我猜想有超過幾百條記錄會開始顯示明顯的延遲。 – chesles