MYSQL-索引的使用

本文介绍了数据库索引的基本原理,如采用二叉树结构提高查询效率,避免全表扫描。详细阐述了主键索引、唯一索引、普通索引和全文索引的创建与使用方法,并给出了相应的SQL示例。同时,总结了索引创建的最佳实践,包括选择频繁作为查询条件、具有唯一性的字段,以及避免对更新频繁的字段创建索引。
摘要由CSDN通过智能技术生成

一、索引的原理

采用二叉树的原理
在这里插入图片描述
没有索引的话

select * from emp where id = 9
//进行全表扫描,查询速度慢

二、索引的类型

1、主键索引,主键自动的为主索引(类型Primary Key)

create table t1(
id int primary key, //--主键,同时也是索引,称为主键索引
name varchar(32);

2、唯一索引(UNIQUE)

create table t2(
id int unique,//id是唯一的,同时也是索引,称为unique索引
name varchar(32);
)

3、普通索引(INDEX)

4、全文索引(FULLTEXT)【适用于MyISAM】一般开发,不使用mysql自带的全文索引,而是使用:全文搜索Solr和ElasticSearch(ES)

三、索引的使用

create  table t3(
id int,
name varchar(32);
)

1、查询列表是否有索引

SHOW INDEXES FROM t3;

2、添加唯一索引

create unique index id_index on t3(id);

3、添加普通索引①

create  index id_index on t3(id);

添加普通索引②

alter table t3 add index id_index (id)

4、添加主键索引

alter table t3 add primary key (id)

5、删除索引

DROP INDEX id_index ON t3

6、删除主键索引

ALTER TABLE t3 DROP PRIMARY KEY 

7、修改索引(先删除、再添加新的索引)

四、总结

1、较为频繁作为查询条件字段的应该添加索引
2、唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
3、更新非常频繁的 字段不适合创建索引
4、不会出现在where 子句中的字段不该创建索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值