MySQL数据库创建索引

1自动创建索引:

当在表中定义一个primary key 或者unique时,MySQL数据库会自动创建一个对应的主键索引或者是唯一索引。

2手动创建索引

在创建表的时候创建索引,也可以给已经有的表创建索引

MySQL数据库创建索引_第1张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

索引的类型

1普通索引:没有任何限制,可以是任何数据类型,可以为空,可以有重复的值。

2唯一索引:就是在创建表的时候,定义unique ,提高查询的效率,并且保证插入的数据在该字段下是唯一的。

可以有空值,就是不能有重复值。

3主键索引:直接在创建表的字段的时候就自动创建了,可以有重复值,不允许有空值。

4全文索引:适合用于检索大量文本,比如 char,varchar,text

5空间索引:设置为空间索引字段的数据类型必须是空间数据类型,如 GEOMETRY、POINT、

LINESTRING、POLYGON,并且该字段必须设置为 NOT NULL。目前 InnoDB 和 MyISAM

存储引擎均支持空间检索。

6复合索引:创建在多个字段的索引,只有在定义时的第一个字段被查询,才能启动符合索引,第二个字段查询时不能启动符合索引。这是因为使用复合索引时遵循“最左前缀”的原因。例如:

当索引字段为(id, name)时,只有查询条件中适用了 id 字段,该索引才会被使用;如果查

询条件中只有 name 字段是不会使用该索引的。

#自动创建索引

create table stu(

id int(10) primary key,

wname varchar(10) unique

);

#查看是否自动创建了索引

show index from stu;

#在创建表的时候,创建普通索引

create table stu1(

id int(10),

ename varchar(10),

index(id)

)

#在创建表的时候创建唯一索引

create table stu2(

id int(10),

ename varchar(10),

unique (id)

)

show index from stu2;

 

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