32.笔记 MySQL学习——创建索引

32.笔记 MySQL学习——创建索引

           MYSQL创建多种类型的索引:

l  唯一索引

l  常规索引

l  FULLTEXT索引

l  SPATIAL索引

l  HASH索引

可以再创建新表时,包含索引定义。

为已有的表添加索引,可以使用语句ALTER TABLE或CREATE INDEX

ALTER TABLE比CREATE INDEX 语句更灵活多变。

在某列的定义末尾加上PARMARY KEY或UNIQUE子句,可以创建一个单列的PRIMARY KEY或 UNIQUE索引。

如下:

mysql> create table mytbl ( i int not null primarykey, j char(10) not null unique);

Query OK, 0 rows affected (0.02 sec)

MEMORY 索引类型默认是HASH,不适合范围比较,创建一个BTREE索引来代替它。

例如:

mysql> create table namelist ( id int notnull,name char(100),index (id) using btree) engine=memory;

Query OK, 0 rows affected (0.01 sec)

只想对字符串列的前缀建立索引,索引定义里为该列命名的语法是col_name(n)

前缀值n表示是,索引应该包括列值的前n 个字节(二进制串类型)或前n 个字符(非二进制串类型)。

l  对于BLOB或TEXT列,只能创建前缀型索引

l  索引行的长度等于构成该索引的各列的索引部分的长度总和。

FULLTEXT索引里的列是以满列值方式进行索引的,不能进行前缀索引。

你可能感兴趣的:(mysql,数据库)