SQL建立索引与索引失效
一、建立索引
使用create index:
-
主键索引:创建表时自动创建 { 聚集索引:一个表中只有一个聚集索引 }
-
唯一索引:
CREATE UNIQUE INDEX 索引名 ON 表名 (列名);
-
普通索引:
CREATE INDEX 索引名 ON 表名 (列名);
-
组合索引:
CREATE INDEX 索引名 ON 表名 (列名1,列名2,列名3);
使用alter table:
-
主键索引:ALTER TABLE
表名
ADD PRIMARY KEY (列名
);
-
唯一索引:ALTER TABLE
表名
ADD UNIQUE (列名
);
-
普通索引:ALTER TABLE
表名
ADD INDEX 索引名 (列名
);
-
全文索引:ALTER TABLE
表名
ADD FULLTEXT (列名
);
-
多列索引:ALTER TABLE
表名
ADD INDEX 索引名 (列名1
,列名2
,列名3
);
ALTER 和 CREATE 创建索引的区别:
- CREATE INDEX必须提供索引名,对于ALTER TABLE,将会自动创建,如果你不提供;
- CREATE INDEX一个语句一次只能建立一个索引,ALTER TABLE可以在一个语句建立多个,如:ALTER TABLE HeadOfState ADD PRIMARY KEY (ID), ADD INDEX (LastName,FirstName);
- 只有ALTER TABLE 才能创建主键。
二、查看索引
SHOW INDEX FROM 表名;
三、删除索引
ALTER TABLE 表名 DROP INDEX 索引名;