[MySQL] INDEX(インデックス)作成・削除・再構築する方法

inno
2022-03-28 10:59 680 0

MySQLでINDEX(インデックス)を作成する方法を説明します。

 

テーブル作成

CREATE TABLE `tTempData` (
  `LogDate` date NOT NULL,
  `UserID` varchar(20) not null,
  `RegDate` datetime NOT NULL,
  PRIMARY KEY (`LogDate`,`Npsn`)
) CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

 

index作成

上記のテーブルの「RegDate」カラムにindexを作成します。

ALTER TABLE tTempData ADD INDEX ix_tTempData_RegDate (RegDate);

 

index削除

DROP INDEX ix_tTempData_RegDate名 ON tTempData;

 

index再構築

ALTER TABLE [テーブル名] ENGINE INNODB

 

例)テーブル名が 「tTempData」の場合以下のように記述します。

ALTER TABLE tTempData ENGINE INNODB

 

index一覧を表示

SELECT table_schema, table_name, index_name, column_name, seq_in_index
FROM information_schema.statistics
WHERE table_schema = "データベース名";

コメント