[SQL]-インデックスの内部操作
1.バランスツリーの概念
ノード:データを格納するスペース
ルートノード:ノードの最上位ノード
リーフノードリーフノード:最後に存在するノード
中間ノードちゅうかんでーた:ルート、リーフの間に挟まれたノード
ページ:MySQLで呼び出されたノード
2.バランスツリーでのページ分割
ルートノードに位置がない場合は、ルートノードを分割します.
ページ分割はMySQLに大きな負担をもたらします.
3.クラスタインデックスの構成
USE market_db;
CREATE TABLE cluster
(mem_id CHAR(8),
mem_name VARCHAR(10)
);
INSERT INTO cluster VALUES('TWC', '트와이스');
INSERT INTO cluster VALUES('BLK', '블랙핑크');
INSERT INTO cluster VALUES('WMN', '여자친구');
INSERT INTO cluster VALUES('OMY', '오마이걸');
INSERT INTO cluster VALUES('GRL', '소녀시대');
INSERT INTO cluster VALUES('ITZ', '잇지');
INSERT INTO cluster VALUES('RED', '레드벨벳');
INSERT INTO cluster VALUES('APN', '에이핑크');
INSERT INTO cluster VALUES('SPC', '우주소녀');
INSERT INTO cluster VALUES('MMU', '마마무');
入力順と同じように見えます
ALTER TABLE cluster
ADD CONSTRAINT
PRIMARY KEY(mem_id);
昇順ソート
4.補助インデックスの構成
USE market_db;
CREATE TABLE second
(mem_id CHAR(8),
mem_name VARCHAR(10)
);
INSERT INTO second VALUES('TWC', '트와이스');
INSERT INTO second VALUES('BLK', '블랙핑크');
INSERT INTO second VALUES('WMN', '여자친구');
INSERT INTO second VALUES('OMY', '오마이걸');
INSERT INTO second VALUES('GRL', '소녀시대');
INSERT INTO second VALUES('ITZ', '잇지');
INSERT INTO second VALUES('RED', '레드벨벳');
INSERT INTO second VALUES('APN', '에이핑크');
INSERT INTO second VALUES('SPC', '우주소녀');
INSERT INTO second VALUES('MMU', '마마무');
SELECT * FROM SECOND;ALTER TABLE second
ADD CONSTRAINT
unique(mem_id);
SELECT * FROM second;
内部では、補助インデックスを作成すると、インデックスは別のスペースに作成されます.
5.インデックス内のデータの検索
Reference
この問題について([SQL]-インデックスの内部操作), 我々は、より多くの情報をここで見つけました https://velog.io/@y7y1h13/SQL-인덱스의-내부-작동テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol