我有一个名为restaurants.couch的沙发数据库,每周一次 紧凑数据库,文件大小将从 20MB 变为 11MB。
我发现旧版本已经消失 - 我不需要。
但是,我注意到 .restaurants_design 文件夹大小超过 100MB 这里有 30 多个 .view 文件。
我执行了紧凑 View 和清理 View ,它将其减少到 8MB,并且只有 1 个 .view 文件。我的应用程序运行速度也快了一些。
我的问题:
1) 为什么.restaurants_design变得这么大?什么原因。这只是一个 View 。
2) 紧凑 View 和清理 View 有什么好处(除了减小文件大小之外)?
3) 紧凑 View 和清理 View 有哪些副作用?如果我不需要版本控制,我会后悔这样做吗?
4) 应该多久压缩一次数据库、压缩 View 和清理 View 如果应用程序除了简单的版本控制之外并不真正需要版本控制,则执行 nosql 数据库与一些 View 。
最佳答案
- CouchDb 将 View 查询结果缓存在磁盘上以进行索引,以加快查询速度。因此,如果您有很多 View ,并且用户使用不同的参数查询它们,它们将被缓存。
- Compact Views -
View indexes on disk are named after their MD5 hash of the view definition. When you change a view, old indexes remain on disk. To clean up all outdated view indexes (files named after the MD5 representation of views, that does not exist anymore) you can trigger a view cleanup:
。 Clean Up Views但是,请删除旧 View 缓存,因为如果更新 View , View 的旧结果仍然在磁盘上。 - 副作用是下一个查询 View 的人将花费更长的时间,因为 CouchDB 需要重建缓存。
Compact Views
和Clean Up Views
不影响版本控制,但Compact Database
确实如此。 - 频率实际上取决于应用程序的工作方式和部署设置的限制。但是,如果您确实想禁用版本控制,请尝试查看 _revs_limit设置,这样您就可以为所有文档设置修改限制。
关于node.js - Couchdb 大小管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25296790/