使用数字类型而不是字符串可以加快 CouchDB 的性能吗?

Does using number type instead of string speed up performance in 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 个字段获取的。

使用数字类型对性能的影响可能可以忽略不计(我猜你说的是读取性能)。如有必要,尝试自己优化视图。总而言之,性能和可能的优化取决于您的具体用例(有多少文档、您拥有什么存储设备、您对性能与可读性的需求和期望)。

我建议你应该从一个简单、可读的解决方案和一些性能基准开始,然后尝试将年份 属性 更改为数字(你不必在那里抽象,因为年份本质上是数字)。如果您的基准测试带来性能优势,请更改其他类型,但我怀疑这样做是否值得,而且如果您对类型、组和应用程序进行数字编码,它会增加复杂性。

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