首页 > 数据库 >MySQL索引

MySQL索引

时间:2022-12-26 15:23:39浏览次数:38  
标签:index 索引 test MySQL tname table

1.索引是什么

索引是一个单独的、存储在磁盘上的数据库结构 ,包含着对数据表里所有记录的引用指针。简单来讲,数据库索引就像是书前面的目录,能加快数据库的查询速度。

(1)索引的存储类型

MySQL中索引的存储类型有两种,即 BTree 和 Hash。

hash类型的索引:查询单条快,范围查询慢
btree类型的索引:b+树,层数越多,数据量指数级增长(我们就用它,因为innodb默认支持它)

(2)MySQL的存储引擎

MySQL 的存储引擎有:InnoDB、MyISAM、Memory、Heap。InnoDB / MyISAM 只支持 BTree 索引,Memory / Heap 都支持 BTree 和 Hash 索引。

什么是存储引擎:https://blog.csdn.net/bbj12345678/article/details/120786449

2.索引的分类

MySQL数据库一共支持5种类型的索引,分别是普通索引、唯一性索引、主键索引、复合索引和全文索引。

(1)普通索引:MySQL中基本索引类型,添加普通索引的列对数据没有特殊要求,允许在定义索引的列中插入重复值和空值。

创建表是添加普通索引,语法如下:

create table test(
id int not null  primary key,
tname varchar(30),
key 索引名称(字段名)
)

或者把key关键字换成index。

例1:创建一个名为test的表,有id,tname两个字段,将tname字段设置为普通索引。

create table test(
id int not null  primary key,
tname varchar(30),
key index_tname(tname)
)

查看表结构

 

  创建表之后向表内的字段添加普通索引的sql语法:

alter table 表名 add index 索引名称(字段);

例2:在test表中添加一个名为time的字段,数据类型为timestamp类型,将其设置为普通索引

alter table test add column time TIMESTAMP;
alter table test add index index_time(time);

 删除普通索引语法:

alter table 表名 drop index `索引名称`;

查看指定表的索引的语法:

show index from 表名;

 

标签:index,索引,test,MySQL,tname,table
From: https://www.cnblogs.com/YorkZhangYang/p/17005864.html

相关文章