性能调整 Timescape 以获得活跃的仪器
performance tuning Timescape to get active instruments
我在 timescape
中有一个 QL+ 查询
DatabaseItems(database := 'Silver', Category := 'Bonds').Where(not(iserror(|isactive|)))
(3 分钟)
我使用的架构在 BondItems 上有一个布尔字段,名为 IsActive
。
我希望此查询 return 的顺序与查询
类似
DatabaseItems('Silver','Bonds')
(6 秒)。
编写此查询以获得实际性能的更好方法是什么?
[时间景观]
- Timescape 的基础数据服务不是关系型
数据库。底层数据服务是基于对象的,高度
针对时间序列分析进行了优化。
- Timescape不支持添加
自定义索引。
虽然无法将自定义索引添加到数据结构中,但可以创建带有引用的索引对象。通过这种方式,可以在 indexes
类别中创建一个 indexes
的类别,可以创建一个对象,比如 ActiveBonds,其中包含债券列表的时间序列。随着债券被添加到活动列表或从活动列表中删除,时间序列中的新行将创建一个新的债券列表。债券列表需要是 Reference Items
的列表,而不是名称,这样您就可以直接访问引用并将它们作为对象直接查询,而不必进一步查找。
您要构建的查询是
DatabaseItem('silver','Acivebonds')
.|itemlist|.Data(0)
.Values(|mid price|('bbg_data').LastValue)
[时间风景]
我在 timescape
中有一个 QL+ 查询DatabaseItems(database := 'Silver', Category := 'Bonds').Where(not(iserror(|isactive|)))
(3 分钟)
我使用的架构在 BondItems 上有一个布尔字段,名为 IsActive
。
我希望此查询 return 的顺序与查询
DatabaseItems('Silver','Bonds')
(6 秒)。
编写此查询以获得实际性能的更好方法是什么?
[时间景观]
- Timescape 的基础数据服务不是关系型 数据库。底层数据服务是基于对象的,高度 针对时间序列分析进行了优化。
- Timescape不支持添加 自定义索引。
虽然无法将自定义索引添加到数据结构中,但可以创建带有引用的索引对象。通过这种方式,可以在 indexes
类别中创建一个 indexes
的类别,可以创建一个对象,比如 ActiveBonds,其中包含债券列表的时间序列。随着债券被添加到活动列表或从活动列表中删除,时间序列中的新行将创建一个新的债券列表。债券列表需要是 Reference Items
的列表,而不是名称,这样您就可以直接访问引用并将它们作为对象直接查询,而不必进一步查找。
您要构建的查询是
DatabaseItem('silver','Acivebonds')
.|itemlist|.Data(0)
.Values(|mid price|('bbg_data').LastValue)
[时间风景]