sql >> データベース >  >> RDS >> Oracle

複数の列のBツリーインデックスはどのように見えますか?

    ほとんどの実装では、キーは、区切り記号付きのすべてのキー値を含む、より長いキーです。そこには魔法はありません;-)

    あなたの例では、キー値は次のようになります

    "123499|John Doe|Conway, NH"
    "32144|Bill Gates| Seattle, WA"
    

    複合キーを使用したこれらのインデックスの特徴の1つは、中間ツリーノードを使用してクエリを「カバー」できることです。

    たとえば、IDが指定された名前と都市を検索するクエリの場合、IDはインデックスの最初にあるため、インデックスはこれを効率的に検索できます。中間ノードに入ると、キーから名前と都市を「解析」でき、リーフノードに移動して同じものを読み取る必要はありません。

    ただし、クエリで電話番号も表示したい場合は、完全なレコードが見つかったときにロジックがリーフをたどります。



    1. 条項間のMySQLは包括的ではありませんか?

    2. OracleでGUIDを生成する方法は?

    3. データベース内の箇条書きを並べ替える

    4. MySQLの「NOTIN」クエリ3テーブル