これで、CosmosDbコレクションのインデックスポリシーは一貫性があり、自動的に設定されます。デフォルトのハッシュインデックスと範囲インデックスとには独自のタイムスタンププロパティそれらによって並べ替えるために。Azure CosmosドキュメントDBのカスタムインデックス作成が機能しない
パスが正しいことはわかっています。私はパスを正しく設定していないと注文できません。しかし:
組み込みのプロパティ_tsコスモスによるソート - [並べ替えクエリのためのコストは、20 RU/sののようなものです。それは素晴らしいことです。 今、私たちの自身タイムスタンプ列でソート(我々は1が文字列のタイムスタンプであり、他方はちょうどビルトイン_ts列としてUnixbased数である2を持っている場合。 このクエリは、400 RUのコスト/ S!???
が新しいインデックス規則は、それを照会し、オーダーすることが私たちを有効にしても、のRUなぜこれがあるとどのように我々はそれに対処します。非常識です置く?
私はあなたのことを知っていますインデックス作成のポーリングを変更できませんでしたAd Hocは以前のように氷であったが、これはマイクロソフトによれば対処されている。
EDIT:それは何のパーティションが設定されていない、シンプルなコレクションで、クエリは、この専用のコレクションに対して実行されます、1つのドキュメントのみ(トップ1)を選択。
SELECT top 1 * FROM c WHERE c.AllCompleted = true ORDER BY c.EndFetchDateTimeUtcUnix DESC
対
SELECT top 1 * FROM c WHERE c.AllCompleted = true ORDER BY c._ts DESC
インデックスは次のように探して: { "indexingMode": "consistent", "automatic": true, "includedPaths": [ { "path": "/", "indexes": [ { "kind": "Hash", "dataType": "Number", "precision": 3 }, { "kind": "Hash", "dataType": "String", "precision": 3 } ] }, { "path": "/EndFetchDateTimeUtcUnix/?", "indexes": [ { "kind": "Range", "dataType": "Number", "precision": -1 }, { "kind": "Hash", "dataType": "String", "precision": 3 } ] } ], "excludedPaths": [] }
カスタムクエリから返されるドキュメントの数と_tsの順序、およびこのクエリが単一のパーティションに限定されているかどうかなどの追加情報を含めることができますか? –
もちろん、それは唯一のものです。上記の投稿をクエリとインデックスで編集しました。 – imbageek