ホームページ > データベース > mysql チュートリアル > MySQL テーブルの戻り値は何を指しますか?

MySQL テーブルの戻り値は何を指しますか?

王林
リリース: 2023-06-01 22:46:04
転載
3181 人が閲覧しました

はじめに

簡単に言うと、テーブル リターンとは、MySQL が最初に主キー インデックスをクエリし、次に主キー インデックスを使用してデータを検索する必要があることを意味します。

以下では、いくつかの質問を分析して答えます:

  • クラスター化インデックスとは何ですか?非クラスター化インデックスとは何ですか?

  • テーブルを返すときに最初に主キー インデックスを見つける必要があるのはなぜですか?

  • 主キー インデックスと非主キー インデックスの違いは何ですか?

  • #テーブルを返さないようにするにはどうすればよいですか?

クラスター化インデックスと非クラスター化インデックスとは何ですか?

MySQL インデックスは、データ構造別、論理的観点、物理ストレージ別など、さまざまな観点から分類されます。

物理ストレージに応じて、

クラスター化インデックス非クラスター化インデックスの 2 種類のインデックスがあります。

簡単に言えば、

クラスター化インデックスは主キー インデックスです。

主キー インデックスの先にあるのが非クラスター化インデックスです。非クラスター化インデックスは、補助インデックスまたはセカンダリ インデックスとも呼ばれます。

主キーインデックスと非主キーインデックスの違いは何ですか?

同じ点: 両方とも B Tree を使用します。

相違点: リーフ ノードに格納されるデータは異なります

  • 主キー インデックスのリーフ ノードには、

    完全な行が格納されます。 data;

  • 非主キー インデックスのリーフ ノードには、

    主キー値が格納されます。リーフ ノードにはレコードのすべてのデータが含まれるわけではなく、ソートに使用されるキーに加えて、非主キー リーフ ノードにはクラスタード インデックスのキーを格納するブックマーク (ブックマーク) も含まれます。

では、これら 2 つのインデックスの使用の違いは何でしょうか?

主キーインデックスを使用したクエリ:

# 主键索引的的叶子节点存储的是**一行完整的数据**,
# 所以只需搜索主键索引的 B+Tree 就可以轻松找到全部数据
select * from user where id = 1;
ログイン後にコピー

非主キーインデックスを使用したクエリ:

# 非主键索引的叶子节点存储的是**主键值**,
# 所以MySQL会先查询到 name 列的索引的 B+Tree,搜索得到对应的主键值
# 然后再去搜索该主键值查询主键索引的 B+Tree 才可以找到对应的数据
select * from user where name = 'Jack';
ログイン後にコピー

が確認できます。非主キー インデックスが使用されること B ツリーは主キー インデックスよりも 1 回多く使用されます。

B ツリーと B ツリーの簡単な理解

クラスター化インデックスと非クラスター化インデックスを理解するための鍵は、B ツリーを理解することにあります。

画像を使用してそれを表します。残りの部分についてはあまり説明しません:

MySQL テーブルの戻り値は何を指しますか?

これは簡単です B ツリーと B ツリーの違いを紹介しましょう:

  • # B ツリーでは、リーフ ノードのみがレコードへのポインタを持ちますが、B ツリーでは、すべてのノードには、内部ノードに表示されるインデックス項目がリーフ ノードには表示されなくなります。

  • B ツリー内のすべてのリーフ ノードはポインターを介して相互に接続されていますが、B ツリーはそうではありません。

  • #テーブルを返さないようにするにはどうすればよいですか?

カバー インデックスを使用します。

いわゆるカバー インデックスとは、インデックスにクエリ内のすべてのフィールドが含まれていることを意味します。この場合、テーブルに対してクエリを実行する必要はありません。

以上がMySQL テーブルの戻り値は何を指しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート