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

mysqlでのBツリーインデックスのしくみ

    データベースには、B-Treeとしてインデックス付けされた値が格納されます キー、およびB-Treeとしてのレコードポインタ 値。

    インデックス付き列の特定の値を保持するレコードを検索するたびに、エンジンはこの値を保持するキーをB-Treeで検索します。 、レコードへのポインタを取得し、レコードをフェッチします。

    「レコードポインタ」とは正確には、ストレージエンジンによって異なります。

    • MyISAMで 、レコードポインタは、MYIのレコードへのオフセットです。 ファイル。

    • InnoDB内 、レコードポインタはPRIMARY KEYの値です 。

    InnoDB内 、テーブル自体はB-Tree PRIMARY KEYを使用 B-Treeとして 鍵。これは、「クラスター化インデックス」または「インデックス編成テーブル」と呼ばれるものです。この場合、他のすべてのフィールドはB-Treeとして保存されます。 値。

    MyISAMで 、レコードは特別な注文なしで保存されます。これは「ヒープストレージ」と呼ばれます。



    1. SQLServerの緊急モードからデータベースを回復する

    2. より良い理解-Class.forName(com.mysql.jdbc.Driver).newInstance();

    3. MY SQLの列のグループに行番号が必要ですか?

    4. OracleからPostgreSQLへ:移行する理由