fabric为状态数据库(couchdb)添加索引
fabric为状态数据库(couchdb)添加索引fabric状态数据库分leveldb和couchdb,其中couchdb支持富查询,leveldb不支持。由于区块链本身的效率就很低,在富查询的情况下,很容易出现因为查询时间过长而出现连接超时问题,为提高couchdb的查询速度,一般会为couchdb添加索引。为couchdb添加索引可以在创建couchdb容器之后使用命令手动创建,这种创...
·
fabric为状态数据库(couchdb)添加索引
fabric状态数据库分leveldb和couchdb,其中couchdb支持富查询,leveldb不支持。
由于区块链本身的效率就很低,在富查询的情况下,很容易出现因为查询时间过长而出现连接超时问题,为提高couchdb的查询速度,一般会为couchdb添加索引。
为couchdb添加索引可以在创建couchdb容器之后使用命令手动创建,这种创建方式局限性较大且容易出现错误,因此一般建议在初始化chaincode(智能合约)和升级智能合约的时候自动添加索引。
创建智能合约
在chaincode工程目录下创建META-INF\statedb\couchdb\indexes
目录,在indexes
目录下创建一个json文件,文件名可自定义。
文件内容示例:
{
"index": {
"fields": [ //索引的列
"bizUUID",
"bizType",
"blockTimeTamp"
]
},
"ddoc": "indexBizUBizTBTTDoc", //索引文档名,可自定义
"name": "indexTest", //索引名,可自定义
"type": "json"
}
使用索引
实例化智能合约后,couchdb会自动创建一个通道名_智能合约名
的数据库,进入数据库就可以看到当前使用的索引。
数据库中出现这个文档就说明索引创建成功。
如果在操作过程中遇到问题,欢迎评论留言,大家一起交流成长。
更多推荐
已为社区贡献1条内容
所有评论(0)