機能説明
多くのユーザーは、インデックスを削除可能か判断するため、インデックスを不可視化する機能を要望していました。このinvisible index機能により、アプリケーションやデータベースユーザーが実際にそのインデックスを使用しているか(エラーが生成/報告されるかどうか)を確認した上で、最終的な削除判断を下すことが可能になります。この機能は8.0から5.7バージョンに移植されました。
サポートバージョン
カーネルバージョン TDSQL-C for MySQL 5.7 2.0.23/2.1.9 以降。
カーネルバージョンはTDSQL-C for MySQL 8.0の3.1.10以上です。
適用シーン
インデックスを削除する前に、そのインデックスをinvisibleに設定することで、当該インデックスが有用かどうかを確認でき、安全に削除することができます。
使用説明
以下のステートメントを使用して、invisible インデックスを作成したり、既存のインデックスを invisible インデックスに変更したりできます:
CREATE TABLE t1 (
i INT,
j INT,
k INT,
INDEX i_idx (i) INVISIBLE
) ENGINE = InnoDB;
CREATE INDEX j_idx ON t1 (j) INVISIBLE;
ALTER TABLE t1 ADD INDEX k_idx (k) INVISIBLE;
以下のステートメントを使用して、それを可視インデックスに変更できます:
ALTER TABLE t1 ALTER INDEX i_idx INVISIBLE;
ALTER TABLE t1 ALTER INDEX i_idx VISIBLE