在CouchDB中使用数字类型而不是字符串可以提高性能吗?

时间:2017-02-27 12:22:28

标签: couchdb

由于CouchDb以json格式存储文档,因此在每次更改文档后都会对视图编制索引。如果可能的话,如果使用数字而不是字符串,我会获得更多性能吗?

目前我正在使用

string type
string syncedToSQL
string epidemicFrom
string group
string year
string app

我能做的是:

number type
number syncedToSQL
string epidemicFrom --remains as string
number group
number year
number app

使用group, year, app, type字段进行观看。

1 个答案:

答案 0 :(得分:0)

使用数字类型的影响可能在性能上可以忽略不计(我猜你在谈论读取性能)。如有必要,请尝试自行优化视图。总而言之,性能和可能的优化取决于您的确切用例(您有多少文档,存储设备,您的需求以及对性能和可读性的期望)。

我建议你应该从一个简单易读的解决方案和一些性能基准开始,然后尝试将year属性更改为数字(你不必在那里抽象,因为这一年本身就是数字)。如果您的基准测试提供了性能优势,请更改其他类型,但我怀疑这是值得的,如果您以数字方式对类型,组和应用进行编码,则会增加复杂性。

如果您需要这些类型的优化,请考虑使用SQL数据库作为替代方案。