この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 5609|答える: 2

MongoDBインデックスの閲覧と作成

[リンクをコピー]
掲載地 2022/02/11 17:46:29 | | | |
MongoDBインデックス

インデックスがなければ、MongoDBはコレクション内のすべてのファイルをスキャンし、データを読み取る際にクエリ条件を満たすレコードを選択しなければなりません。

このような全データセットの検索効率は非常に低く、特に大量のデータを処理する場合、クエリに数十秒から数分かかることもあり、ウェブサイトのパフォーマンスに致命的な影響を与えます。

インデックスは、インデックス上で簡単に読み取れるデータの集合に保存される特別なデータ構造であり、インデックスはデータベーステーブル内の1つ以上のカラムの値をソートする構造です。

復習:

MongoDBの共通クエリコマンド
https://www.itsvse.com/thread-10169-1-1.html

実行計画を問い合わせる

例文:

インデックス(winningPlan:COLLSCAN)を作成しない場合、下図のように:



explain()関数は異なるパラメータを受け取ることができ、異なるパラメータを設定することでより詳細なクエリプランを見ることもできます。

パラメータには以下が含まれます:queryPlanner(デフォルト)、実行統計、allPlans実行

execute explain(「executionStats」)を実行すると、実行計画にさらに多くの統計が記載されています。

パラメーター意味
合計キーズ検証済みインデックススキャンの数
totalDocsExamined文書スキャン回数
n戻った結果が返された数
実行タイムミリス実行は時間がかかります
実行成功処刑が成功したかどうか

インデックス作成

MongoDBはcreateIndex()メソッドを使ってインデックスを作成します。

バージョン3.0.0以前は、インデックス作成メソッドはdb.collection.ensureIndex()であり、その後のバージョンではdb.collection.createIndex()メソッドが使われていました。

単一のインデックスを作成する


複合指数を作成する

構文では、キー値は作成したいインデックスフィールドで、1は昇順のインデックスを作成するために指定され、降順でインデックスを作りたい場合は-1を指定します。バックグラウンドでインデックスが作成されることを指定するためにつまり、「背景」オプションパラメータを追加します。 「background」はデフォルトでfalseになります。

クエリインデックス

コマンドは以下の通りです:



インデックスを削除してください

すべてのインデックスを削除してください

指定されたインデックスを削除してください

(終わり)




先の:台湾のユーザーの登録を制限する方法、自由に情報を投稿する方法、そして書き方についてアドバイスを求める方法。
次に:[実戦]。 NET/C#はStackExchangeを使ってキャッシュをエクスポートします。Redisのファジークエリ
 地主| 掲載地 2022/02/11 17:49:16 |
クエリ分析プロセスの遅さ:

1. 200msを超える文を見つけるために、スロークエリログ(system.profile)を使用します

2. 次に.explain()を使って影響を受けた行の数を分析し、なぜ200msを超えるのかを分析します

3. インデックスを追加する必要があるかどうかを判断する

スロークエリを有効にする:


パラメーター:

0: 閉鎖、データ収集なし。
1: 遅いクエリデータを収集する。デフォルトは100ミリ秒。
2: すべてのデータを収集する

結果を見直す:


注:インデックスは基本的にメモリ上で永続的と言えます。データ量が1億に達する場合、インデックス数が少なければ少ないほど良いです。なぜなら、それは多くのメモリを占有するためです。 インターネットによると、100万のインデックスが約5,000万のメモリを占めています。 もし1億台なら5Gメモリを占有します。

掲載地 2022/02/13 16:30:52 |
学んだ。。。
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com