[SQL]-インデックスの実際の使用
1.索引の作成
CREATE [UNIQUE] INDEX 인덱스_이름
ON 테이블_이름 (열_이름) [ASC | DESC]
インデックスを作成する前にIndex lengthは0
CREATE INDEX idx_member_addr
ON member(addr);
作成の確認総インデックス・サイズの確認
ANALYZE TABLEを使用して有効にする
ANALYZE TABLE member;
CREATE UNIQUE INDEX idx_member_mem_name
ON member(mem_name);
ユニークなインデックスを作成すると、重複する値は入力されません.
重複するデータの多いカラムにインデックスを作成することは意味がなく、パフォーマンスに影響します.
2.インデックスを使用する実践
ANALYZE TABLE member;
SHOW INDEX FROM member;
インデックスを使用するには、インデックスを生成するカラム名をWHERE文に含める必要があります.
SELECT mem_id, mem_name, addr
FROM member
WHERE mem_name = '에이핑크';
WHEREがカラムを演算した場合、インデックスは使用されません.3.索引の削除
DROP INDEX 인덱스_이름 ON 테이블_이름
DROP INDEX idx_member_mem_name ON member;
DROP INDEX idx_member_addr ON member;
DROP INDEX idx_member_mem_number ON member;
まず補助インデックスを削除したほうがいいです.クラスタインデックスを先に削除すると、データを再構成する必要がなくなり、時間が長くなります.
クエリ
SELECT TABLE_NAME, CONSTRAINT_NAME
FROM information_schema.referential_constraints
WHERE CONSTRAINT_SCHEMA = 'market_db';
4.インデックスの有効な使用
インデックスはカラム単位で生成されます.
WHEREセクションで使用するカラムにインデックスを作成する必要があります.
WHEREの日に使っても、常に使ってこそ価値があります.
重複データの高いカラムにインデックスを作成しても効果はありません.
テーブルごとに1つのクラスタインデックスしか作成できません.
使用しないインデックスを削除します.
Reference
この問題について([SQL]-インデックスの実際の使用), 我々は、より多くの情報をここで見つけました https://velog.io/@y7y1h13/SQL-인덱스의-실제-사용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol