3

バイナリ検索の仕組みはわかっていますが、バイナリ検索の実用的な使い方を知りたかったのです... インターネットで検索したところ、主な用途はデータベースのインデックス作成でしたバイナリ検索がデータベースの索引付けにどのように役立つか理解できませんでした。バイナリ検索がデータベースインデックス作成でどのように使用されるのですか

+2

データベースインデックスは、バイナリツリーの一般化であるb-ツリーを使用します。両方の場合に「分割と征服」という一般的な考え方が適用されますが、バイナリ検索と同じではありません。 – dasblinkenlight

答えて

0

ソートされたリストがある場合は、バイナリ検索を使用して効率的にリストを検索できます。データベースインデックスは、ソートされたデータのデータ構造です。

2

Binary searchを使用すると、キーがすでにソートされていることを前提に、そのキーでレコードをすばやく検索できます。これは、キーの数が多い場合に特に当てはまります。 32のキーの読み取りは、20億のソートされたキーのコレクション内の単一の一意のキーを見つけるには十分です。

バイナリ検索は、各検索の試行で検索するレコードの数が半減するため、この方法で動作します。言い換えれば、データベースは、通常、b-treesまたはred-black treesのような他のbinary treeのようなデータ構造を使用してインデックスを実行します。バイナリツリーを使用すると、検索する前にキーのリストをソートする必要がなくなります。

0

私が解決策を探している間、非常に便利なリンクとあなたの質問に対する答えが見つかりました。

Using Binary trees in Table Database indexes

+1

[リンクのみの回答はお勧めできません](http://meta.stackoverflow.com/tags/link-only-answers/info)、SOの回答は解決策の検索の終点になるはずです(対時間の経過とともに古くなる傾向がある参照の途中降機)。リンクを参考にして、ここにスタンドアロンの概要を追加することを検討してください。 – kleopatra

+0

上記のリンクには、クエリーに関する非常に詳細な説明があります。将来の記事でより良い説明を提供することを確認します。ありがとう。 –

0

バイナリ検索では、各ステップの次の位置(中点)が計算されます。

DBのバイナリツリー事前計算各ステップ上の中点、単一の項目に達するまで。すべての中間点をツリーに配置します。クエリを実行すると、DBMSはツリーをルックアップします。

関連する問題