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