MySQL索引介绍

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 索引由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。 创建索引是指在某个表的一列或者多列上建立一个索引,用来提高对表的访问速度, 创建索引由三种方法:在创建表的时候创建,在已存在的表上创建和用alter table语句创建。 创建索引的基本语法格式: ASC参数表示升序排列,DESC参数表示降序排列。 一,在创建表的时候创建索引 1,  创建一个普通

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

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

创建索引由三种方法:在创建表的时候创建,在已存在的表上创建和用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的视图和触发器。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
关系型数据库 MySQL 索引
mysql 分析5语句的优化--索引添加删除
mysql 分析5语句的优化--索引添加删除
12 0
|
20天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:优化进销存管理,掌握MySQL索引,提升系统效率(11)
轻松入门MySQL:优化进销存管理,掌握MySQL索引,提升系统效率(11)
|
25天前
|
存储 自然语言处理 关系型数据库
ElasticSearch索引 和MySQL索引那个更高效实用那个更合适
ElasticSearch索引 和MySQL索引那个更高效实用那个更合适
37 0
|
26天前
|
SQL 存储 关系型数据库
MySQL not exists 真的不走索引么
MySQL not exists 真的不走索引么
24 0
|
29天前
|
SQL 存储 关系型数据库
对线面试官 - 如何理解MySQL的索引覆盖和索引下推
索引下推是MySQL 5.6引入的优化,允许部分WHERE条件在索引中处理,减少回表次数。例如,对于索引(zipcode, lastname, firstname),查询`WHERE zipcode='95054' AND lastname LIKE '%etrunia%'`时,索引下推先过滤zipcode,然后在索引中应用lastname条件,降低回表需求。索引下推可在EXPLAIN的`Using index condition`中看到。
对线面试官 - 如何理解MySQL的索引覆盖和索引下推
|
1月前
|
监控 关系型数据库 MySQL
MySQL创建索引的注意事项
在数据库设计和优化中,索引的合理使用是提高查询性能和加速数据检索的关键因素之一。通过选择适当的列、了解数据分布、定期维护和监控索引性能,我们能够最大程度地发挥索引的优势,提高数据库的效率和响应速度。
29 0
|
1月前
|
关系型数据库 MySQL 数据库
MySQL索引和查询优化
MySQL索引和查询优化
35 1
|
1月前
|
SQL 关系型数据库 MySQL
MySQL索引与事务
MySQL索引与事务
100 0
|
1月前
|
监控 关系型数据库 MySQL
MySQL创建索引的注意事项
在索引的世界中,权衡是关键。权衡读写性能,权衡索引的数量和类型,权衡查询的频率和数据分布。通过谨慎的设计、定期的维护和持续的监控,我们能够确保索引在数据库中的角色得到最大的发挥,为应用提供更加高效和可靠的数据访问服务。在数据库优化的旅途中,索引是我们的得力助手,正确使用它将使数据库系统更具竞争力和可维护性。
18 0
|
1月前
|
存储 关系型数据库 MySQL
最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
169 0