2016-11-22 62 views

回答

5

的更多細節信息,可以發現here

查看被組織成設計文檔。從理論上講,您可以在數據庫中擁有儘可能多的設計文檔,並且可以在單個設計文檔中擁有儘可能多的視圖。理論上,每個視圖可以爲每個文檔發射任意數量的b-樹節點,並且您的映射/縮減代碼可以是任意複雜的。但要記住:

  • 有很多意見會降低性能,因爲每個視圖必須在每個文檔變化
  • 在相同的設計文檔的所有視圖索引一起運行;改變,添加或刪除任何視圖需要所有的人重建索引

  • 有每個文檔多發在一個視圖中可能會降低性能(但是稍微更好的性能不是把它自己的觀點分別發射)

  • 複雜的地圖和減少代碼會降低性能

  • 發射值除零降低性能
  • 使用減少比_sum,_count其他代碼,_stats內置插件會降低性能

作爲一個方面說明的CouchDB和Cloudant不同的究竟何時觀點更新:

  • CouchDB的更新懶洋洋的看法,這是他們被查詢時。這可能導致不常訪問的視圖的漫長等待時間。
  • Cloudant在後臺異步更新視圖。這意味着不再被訪問的視圖仍然佔用系統資源。
+1

從鏈接的文章另一個相關報價:「把每個視圖自己的設計文件中,這樣每個視圖可以單獨重建索引(記住,即使刪除視圖會導致重大的重新索引,如果它在一個設計文檔與其他觀點!)」 –