私は複数のソースから更新されたステータスを格納する空のストレージテーブルを持っています。ソースIDとしてパーティションキーがあります(ソースごとに一意です)。ここで、任意のソースIDに対して、最後に更新されたステータスにアクセスしたいと思います。私はパーティションからの結果を降順でタイムスタンプでソートし、最初のレコードを取得することでこれを行うことができますが、パフォーマンスはあまり良くありません。各パーティションには1000を超えるレコードがあり、ソートは最良の方法ではないようです。パーティションの最後に挿入されたデータを取得するためにazureテーブルを照会します。
これを効率的に達成する方法は他にありますか?パーティション内のエンティティは、既に私が利用できる特定の行キーでソートされていますか?
このソリューションは私たちのために働きますが、同時に2つのレコードが挿入される状況(非同期環境で)があり、同じ目盛りを持つことができますか?順序を維持することはできませんが、表の挿入は競合してエラーになります。それに対する迅速な解決策はありますか? –
簡単な解決策:最後にGUIDを追加します。 myentity.RowKey = String.Format( "{0:D19}"、DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)+ "_" + Guid.NewGuid()。ToString(); –