MongoDB インデックス
インデックスを使用すると、通常、クエリ効率が大幅に向上します。インデックスがないと、MongoDB はデータを読み取るときにコレクション内の各ファイルをスキャンし、クエリ条件を満たすレコードを選択する必要があります。
コレクション全体をスキャンするクエリの効率は非常に低く、特に大量のデータを処理する場合、クエリに数十秒、場合によっては数分かかる場合があり、これは Web サイトのパフォーマンスにとって非常に致命的です。
インデックスは、簡単に走査して読み取ることができるデータ コレクションに格納される特別なデータ構造です。
データベース テーブル内の 1 つ以上の列の値を並べ替える構造です。
上記は公式の説明です()
私が知りたいのは、インデックスを作成した後、クエリ時にデータベースがどのようにしてデータを検索するかということです。これはすべてのデータベースをクロールするのと同じではないでしょうか? ?時間を節約する方法と、この百度を長く動作させる方法は誰も説明できません。
強調しておきますが、私はインデックスの使用方法を尋ねているのではなく、インデックスがどのようにその目的を達成し、時間を節約するのかを尋ねているのです
基本的には2点検索として理解できます
百度で検索してみましょう。たくさんの書類があります。 MongoDB のインデックスは主に B ツリー インデックスであり、ほとんどのデータベースの B ツリー インデックスの原理は同じです。