3

MySQL 選択クエリを最適化するためにシーケンス/範囲を検索しようとしているフィルター処理された行 ID を持つ整数コレクションがあります。例を挙げると:

Integer-Collection は、非常に断片化されている可能性があります。

[1,2,88,101,200] = Sequence(1-2,88,101,200)

または非常に完全に:

[1,2,3,4,..,198,199,200] = Sequence(1-200)

コレクション内のシーケンスを見つけたり、一般的な読み取りパターンを改善したりするための Java アルゴリズムはありますか?

4

1 に答える 1

1

あなたのコレクションはどれくらいですか?何百万ものアイテムがない限り、コレクション全体をメモリにロードし、並べ替えてから範囲をスキャンするのがおそらく最速です。

ソートされたリストでは、範囲を見つけるのは簡単です。順番にスキャンするだけです。次の要素が前の要素 + 1 でない場合、1 つの範囲がちょうど終了し、別の範囲が開始されました。

于 2013-03-12T13:21:07.577 に答える