1. クラスター化インデックス テーブル データはインデックスの順序で保存されます。つまり、インデックス項目の順序は、テーブル内のレコードの物理的な順序と一致します。クラスター化インデックスの場合、リーフノードには実際のデータ行が格納され、個別のデータ ページは存在しません。 実際のデータには物理的な順序が 1 つしか存在しないため、テーブルに作成できるクラスター化インデックスは最大で 1 つだけです。 物理ファイルからも、InnoDB (クラスター化インデックス) のデータ ファイルには、データ構造ファイル .frm とデータ ファイル .idb のみがあることが分かります。データとインデックス情報は、.idb に一緒に保存されます。 2. 非クラスター化インデックス テーブルデータが格納される順序は、インデックスの順序とは関係ありません。非クラスター化インデックスの場合、リーフ ノードにはインデックス フィールド値とデータ ページのデータ行への論理ポインターが含まれ、行数はデータ テーブル内のデータ量と一致します。 物理ファイルからも、MyISAM (非クラスター化インデックス) インデックス ファイル .MYI とデータ ファイル .MYD が別々に保存されており、比較的独立していることがわかります。 要約: クラスター化インデックスと非クラスター化インデックスの違いは次のとおりです。 クラスター化インデックス (innoDB) のリーフ ノードはデータ ノードです。 非クラスター化インデックス (MyISAM) のリーフ ノードは依然としてインデックス ファイルですが、インデックス ファイルには対応するデータ ブロックへのポインターが含まれています。 非クラスター化インデックスの場合、インデックスを通じて必要な行番号を取得するたびに、リーフ上のディスク アドレスを通じてディスクからデータを取得する (行を返す) 必要があり、時間がかかります。データの取得時間を最適化するために、InnoDB エンジンはクラスター化インデックスを使用します。 これにより、戻り操作による時間の消費を回避できます。 これにより、一部のクエリでは InnoDB が MyISAM よりもさらに高速になります。 ps. クエリ時間に関しては、MyISAM はパフォーマンスのために機能を犠牲にしており、クエリが高速であると一般に考えられています。しかし、必ずしもそうとは限りません。ほとんどの場合、MyISAM は InnoDB よりも高速です。ただし、クエリ時間は多くの要因によって影響を受けます。 InnoDB クエリが遅くなる理由は、トランザクションやロールバックなどをサポートしているため、InnoDB のリーフ ページには実際にはトランザクション ID (つまり、バージョン番号) とロールバック ポインターが含まれているからです。
つまり、クラスター化インデックスは、頻繁に更新される列、頻繁に変更されるインデックス列、および少数の固有値には適していません。 以上がMySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細な説明です。MySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: DockerHubイメージリポジトリの使い方の詳しい説明
>>: Typescript+React でモバイルと PC でシンプルなドラッグ アンド ドロップ効果を実現
背景:サイトはフロントエンドとバックエンドから分離されています: vue+springbootフロン...
自分のウェブサイトを構築する予定なので、618 プロモーションを利用して Tencent Cloud...
これは非常にシンプルな純粋な CSS3 の白い雲の浮遊する背景効果です。浮かぶ白い雲の特殊効果は、C...
ヒント1: 集中力を保つ最高のモバイル アプリは、1 つのことを非常にうまく行うことに重点を置いてい...
FOUC は Flash of Unstyled Content の略で、FOUC と略されます。簡...
この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...
この記事では、参考までにMySQLのインストールと設定のチュートリアルを紹介します。具体的な内容は次...
HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...
構文: <marquee> …</marquee>モバイル属性マーキーを使用...
display:flex、justify-content: space-betweend を設定する...
1.backup.shスクリプトファイルを作成する #!/bin/sh ソースフォルダ=/データ ...
シナリオ昨日、システムは dbAll.sql.gz という名前の特定のデータベースのすべてのテーブル...
プロジェクトでよくある状況として、案件リストなどのリストが存在することがあります。リスト内の項目をク...
この記事では、reduce()、filter()、map()、every()、some()、spre...
目次必要:アイデア:レッスン:テキストを共有する:要約する必要:インターフェイスからサブメニュー デ...