数据库----表的索引

MySQL有索引的特性,索引能够提高查询效率,尤其当数据量非常庞大的情况下,索引的优越性越能得到体现,但天下没有白吃的午餐,索引特性带来的高效查询效率也导致了磁盘空间的占用和数据增删改的速率降低,因此我们也说索引是以时间换空间。
常见的索引有
1.主键索引
1.1创建主键索引

1.1 .1创建表的时候在字段名后指定primary key

create table user1(id int primary key,name varchar(10));

1.1.2 创建表的最后,指定一个或几个主键

create table user2(id int,name varchar(20),primary key(id));

1.1.3表创建好以后用DML语句alter追加主键

alter table user3 add primary key(id);

1.2删除主键

alter table user2 drop primary key;

1.3查询索引

show keys from 表名;
show index from 表名;
desc 表名

2.唯一键索引
2.1 创建唯一键索引
2.1.1 创建表时在字段名后指定唯一键

create table user4(id int unique,name varchar(20));

2.1.2创建表时在表的最后指定唯一键

create table user2(id int,name varchar(20),unique key(id));

2.1.3 创建好表后,用DML语句alter追加唯一键

alter table user1 add unique key(name);

2.2删除唯一键索引

alter table 表名 drop index 索引名(唯一键字段名);
drop index 索引名(唯一键字段名) on 表名;

2.3查询唯一索引
见1.3
3.普通索引
3.1创建普通索引
3.1.1 在创建表的最后指定某列为索引。

create table user5(id int,name varchar(20), index(id));

3.1.2创建好表后追加索引

alter table 表名 add index(字段名);

3.1.3 创建一个索引名为 idx_name 的索引

create index 索引名 on 表名(字段名);

3.2删除普通索引

drop index 索引名 on 表名;

全文索引(fulltext)只有MyISAM存储引擎支持全文索引,但也仅支持英文全文索引,全文索引的创建可以在创建表的时候在表的后面定义全文索引

查询是否用到索引

explain select语句;

索引创建原则:
1.频繁作为条件查询的字段名尽量设置为索引
2.唯一性太差的字段不适合作为索引,即使查询频繁
3.更新非常频繁的字段不适合作为索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值