2016-07-09 2 views
0

私はtimescapeパフォーマンスチューニングTimescapeは</p> <p>私が使用しているスキーマが<code>IsActive</code>呼ばBondItemsのブールフィールドを持つ

DatabaseItems(database := 'Silver', Category := 'Bonds').Where(not(iserror(|isactive|)))(3分)でQL +クエリを持っているアクティブな楽器を取得します。 クエリと同様の順序でこのクエリが返されると考えられます。

DatabaseItems('Silver','Bonds')(6秒)

私は現実的なパフォーマンスを得るためにこのクエリを書くためのより良い方法は何ですか?

[timescape]

答えて

0
  1. Timescapeの基礎となるデータ・サービスは、リレーショナルデータベース ありません。基礎となるデータサービスはオブジェクトベースであり、時系列分析用に最適化された です。
  2. Timescapeでは、カスタムインデックスを に追加することはできません。

カスタムインデックスはデータ構造に追加できませんが、参照付きでインデックスオブジェクトを作成できます。このようにしてindexesというカテゴリを作成し、indexesカテゴリ内に、ActiveBondsというオブジェクトを作成し、債券のリストを作成します。債券がアクティブなリストに追加または削除されると、債券の新しいリストが作成されます。債券のリストは、名前ではなくReference Itemsのリストである必要があります。そのため、参照を直接行う必要はなく、オブジェクトとして直接参照することができます。

あなたが構築したいクエリは、その後

DatabaseItem('silver','Acivebonds') 
.|itemlist|.Data(0) 
.Values(|mid price|('bbg_data').LastValue) 

ある[Timescape]

関連する問題