問題タブ [b-tree-index]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - データベース インデックス: ペアリングする理由
複数のインデックスを持つテーブルがあり、そのうちのいくつかは同じ列を複製しています:
私は実際のインデックス作成についてあまり詳しくないので、X、Y、および Z がこれらの同じ列とペアになっている理由を誰かが説明できるかどうか疑問に思っています。B は発効日です。C は、特定の発効日 B のこのテーブルの準一意キー ID です。D は、識別子 C のこのレコードの優先度を識別するシーケンスです。
X、Y、Z、B、C、D ごとに 1 つずつ、合計 6 つのインデックスを作成しないのはなぜでしょうか。
別の列 T にインデックスを追加したいのですが、一部のコンテキストでは T のみをクエリし、他のコンテキストでは B、C、および D 列も指定します...したがって、次のようなインデックスを 1 つだけ作成する必要があります。または、T 用に 1 つ、(T、B、C、D) 用に 1 つ作成する必要がありますか?
インデックス作成の包括的なカバレッジをグーグルで調べたとき、期待したほどの幸運はありませんでした。B ツリー インデックス作成の詳細な説明と多くの例を入手できるリソースはありますか?
sql - データベースとB+Treesインデックス
どのデータベースがインデックスの実装にBツリーよりもB+ツリーを使用しているかどうかに関する情報はどこにありますか?
OracleはB+Treesを使用しているようです。ドキュメントには記載されていませんが、グラフィックはB+Treeが実際に使用されていることを示しているようです。
algorithm - なぜBツリーとB+_treeで、各非リーフノードでハーフフルからコンプリートフルにストアするのですか?
私はDBMSでBツリーとB+ツリーを学びました。nが特定のツリーに対して修正されているのに、ツリー内の非リーフノードが[n/2]からn個の子を持つ理由がわかりません。
何故ですか?そしてその利点は?
ありがとう !
sql-server - SQLServerでテーブルのBツリーの高さを見つける
データベースデータはBツリーの8kページに編成されており、PK情報情報の場合も同様であるため、データベース内の各テーブルでBツリーの高さを計算できる必要があります。したがって、特定のデータに到達するために必要なジャンプの数を明らかにします。
varchar(250)
行サイズとPKサイズの両方が非常に重要であるため、たとえば250バイトを使用する必要がないため、計算が困難 です。
1)SQL Serverから情報を取得する方法はありますか?2)そうでない場合、データベースのテーブルを分析するコードを使用して大まかな見積もりを出すことは可能ですか?
mysql - MySQL の btree インデックスでは、まだ完全なテーブル ルックアップが行われますか?
大規模な Web サイトを強化する MySQL DB (v 5.5) があります。ウェブサイトの一部には、2,000,000 件以上の投稿があるフォーラムが含まれています。
最近、サイトのトラフィックが大幅に増加し (最大 700 -> 1,000 の同時接続)、サイトでのクエリが非常に遅くなりました。スロー クエリ ログを分析すると、次の形式のクエリが多数表示されます。
私は MySQL の専門家ではありませんが、Rows_examined の部分が頭を悩ませています。約 2,000,000 行のテーブルでルックアップを行っていますが、btree インデックスが適用されている「fp_id」でクエリを実行しています。このインデックスが存在するにもかかわらず、Rows_examined カウントは ~300,000 からフル テーブル スキャンまで変動しています。また、fp_topicsid にもインデックスがあることに言及する必要があります。
なぜこれが見られるのか誰か知っていますか?これについての助けを本当に感謝します:)
ありがとう!
search - インデックスの増加による二分探索木の生成
基本的に二分木である親ポインタのベクトル[011 2 2 3 3 55....]があります。インデックスは子であり、対応する値は同じベクトル内の親のインデックスを表します。
例:上記のベクトルで、インデックス5にカウントすると、要素は2になります。これは、その親がインデックス2にあることを意味します。インデックス2でも、要素は1であり、親がインデックス1にあることを意味します。要素は0で、これはルートノードです。
これからバイナリ検索ツリーを作成するにはどうすればよいですか?
また、
親と対応する子を知っているバイナリツリー形式でデータを生成していますが、それらをバイナリ検索ツリーに保存するにはどうすればよいですか?
上記のベクトルに示されているように、子のインデックスは常に親よりも大きくなります。例:ノード1を取得し、2と3の2つのノードに分割します。次に、ノード2を取得して4と5に分割します。次に、ノード4を取得して6と7に分割します。二分探索木で親子関係を維持したい。
よろしくお願いします
ワジャハット
mysql - バイナリデータ型の列mysqlでどのインデックスを使用する必要がありますか
重複ファイル (つまり、同じデータを持つファイル) をチェックするための簡単なツールを作成しています。このメカニズムは、sha-512 アルゴリズムを使用して各ファイルのハッシュを生成し、これらのハッシュを MYSQL データベースに格納することです。ハッシュをbinary(64) unique not null列に保存します。各行には一意のバイナリ ハッシュがあり、ファイルが重複しているかどうかを確認するために使用されます。
-- 私の質問は --
バイナリ列でインデックスを使用できますか? デフォルトのテーブル照合順序は latin1 - デフォルトの照合順序ですか?
高いパフォーマンスを得るには、Btree または Hash のどちらのインデックス作成メカニズムを使用する必要がありますか? 1 秒あたり 100 行を更新または追加する必要があります。
最高のパフォーマンスを得るには、他にどのようなことに注意すればよいですか?
mongodb - MongoDB がクエリによく似た (正確ではない) 複合インデックスを使用できないのはなぜですか?
以下の Mongo インデックス戦略とクエリを検討してください。
索引:
クエリ:
上記のクエリの Explain は次を返します。
ここでの質問は、クエリが Index(as "indexOnly" : true
) で完全に実行されることを明確に示しています。しかし、"scanAndOrder" : true
Btree インデックス モデルによると、c はインデックスの末尾にあるため、並べ替えに使用できるのはなぜですか。いいえ?
なぜ使われていないのですか?