特定のレコードをデータベースから削除する必要がある時間を含む整数キー (タイムスタンプ) を持つテーブルがあります。このテーブルから、有効期限が現在よりも短いレコードを取得して削除するクリーニング クエリもあります。
Erlang のドキュメントによると、テーブル型には 、 、 、および の 4 つのタイプset
がordered_set
ありbag
ますduplicate_bag
。
set
ハッシュテーブルを使用して実装されているため、読み取りには O(1) 時間の複雑さがかかります。ordered_set
ツリーを使用して実装されているため、読み取りには O(log(n)) 時間の複雑さがかかりますが、結果の間隔でより適切に機能します。bag
実装に関する情報は見つかりませんでした。
ordered_set
理想的に思えますが、2 つのレコードが同じタイムスタンプを持つ可能性があるため、使用できません。質問は次のとおりです。
テーブルはどのようにbag
実装されており、結果の間隔を照会するのに適していますか? そうでない場合、どうすれば " ordered_bag
" 機能を取得できますか?