MySQL索引介绍

    xiaoxiao2023-07-18  147

    索引由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。

    创建索引是指在某个表的一列或者多列上建立一个索引,用来提高对表的访问速度,

    创建索引由三种方法:在创建表的时候创建,在已存在的表上创建和用alter table语句创建。

    创建索引的基本语法格式:

    ASC参数表示升序排列,DESC参数表示降序排列。

    一,在创建表的时候创建索引

    1,  创建一个普通索引:

    创建一个index1的表,在其id字段上建立索引:

    create table index1(id int,namevarchar(20),sex boolean,index(id));

    查看索引是否被引用àexplain select * from index1 where id=1;

    2,  创建唯一性索引:

    创建一个index2表,在id字段上建立唯一性索引,升序排列:

    create table index2(id int, namevarchar(20),unique index index2_id(id asc));

    创建结果如图:

    3,  创建全文索引;

    目前只有myisam支持全文索引。

    创建一个index3表,在info字段建立全文索引:

    create table index3(id int,infovarchar(20),fulltext index3_info(info))engine=myisam;

    结果如图所示:

    4,  创建单列索引

    创建index4表,在subject字段上建立单列索引:

    create table index4(id int,subjectvarchar(20),index index4_sb(subject(10)));

    结果如图所示:

    5,  创建多列索引

    创建index5表,在name和sex上建立多列索引:

    create table index5(id int, namevarchar(10),sex boolean,index index_nasex(name,sex));

    结果如图所示:

    6,  创建空间索引:

    创建index6表,在表中space字段建立空间索引,建立空间索引的字段必须有非空约束,存储引擎必须是myisam:

    create table index6(id int,space geometrynot null,spatial index index6_space(space))engine=myisam;

    结果如图所示:

    二,在已存在的表上创建索引

    基本语法为:

    首先创建index7,不设置索引:

    为index7在id字段加一个普通索引:

    create index index7_id on index7(id);

    变化后结果显示:

    三,用alter table 语句创建索引

    基本语法:

    创建一个index8,不设置索引:

    如下:

    为name加一个索引:

    alter table index8 add indexindex8_name(name(20));

    变化如下:

    四,删除索引

    drop index索引名 on 表名;

    索引就先看到这里了,接下来了解一下MySQL的视图和触发器。

    最新回复(0)