MySQL 索引

2018-11-27  本文已影响0人  SailingBytes

索引可以大大提高MySQL的检索速度,同时却会降低更新表的速度(INSERT、UPDATE和DELETE)。

单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。

组合索引,即一个索引包含多个列。

普通索引,最基本的索引,它没有任何限制。

唯一索引(UNIQUE),索引列的值必须唯一(除null外),但允许有空值。如果是组合索引,则列值的组合必须唯一。

1、创建索引

CREATE INDEX index_name ON table_name(column_name(length));

CREATE UNIQUE INDEX index_name ON table_name(column_name(length));

2、添加、修改索引

ALTER TABLE table_name ADD INDEX index_name(column_name);

ALTER TABLE table_name ADD UNIQUE [index_name] (column_name(length));

ALTER TABLE table_name ADD PRIMARY KEY (column_name);     添加一个主键,索引值唯一,且不能为NULL。

ALTER TABLE table_name ADD FULLTEXT index_name (column_name);    索引为 FULLTEXT ,用于全文索引。

3、创建表时,直接指定

CREATE TABLE table_name(

    ID INT NOT NULL, 

    username VARCHAR(16) NOT NULL, 

    INDEX [index_name] (column_name(length)) 

);

CREATE TABLE table_name(

    ID INT NOT NULL, 

    username VARCHAR(16) NOT NULL, 

    UNIQUE [index_name] (column_name(length)) 

); 

4、删除索引(all)

DROP INDEX [indexName] ON table_name;

5、显示索引(all)

SHOW INDEX FROM table_name; \G

上一篇 下一篇

猜你喜欢

热点阅读