MySQL索引操作

索引操作

创建主键索引

  • 法1
    在创建表的时候,在字段后面添加primary key就行了,会自动创建一个b+树来管理
create table user1 (id int primary key);

空间不会不够,b+树可以局部加载

  • 法2
    在创建表的最后,指定某列或者某几列是主键索引
create table u1 ( id int, name varchar(12), primary key(id));
  • 法3
    使用alter
alter table u1 add  primary key(id);

查看索引
在这里插入图片描述

 show index from u1\G;

在这里插入图片描述
删除主键索引

alter table u1 drop primary key;

再查看
在这里插入图片描述

  • 创建唯一键索引

创建普通键索引

  • 法1:在键表的时候,就指定某列为索引,必须要有主键索引
create table u3(name varchar(12),id int primary key,index (name));

在这里插入图片描述
一定是有两个b+树,一个表可以有好多个索引

  • 法2:在建表之后,使用alter来增加
alter table u3 add index (name);
  • 法3:使用create index来增加索引
create index myindex on u3 (name);

创建的时候给这个表起一个别名
在这里插入图片描述

删除普通索引

alter table u3 drop index name;

唯一键索引

  • 法1
create table u2 (id int primary key,name varchar(12) unique);

在这里插入图片描述
唯一键和普通索引没有任何差别,它只不过是多加了一个UNI,这个关键字

  • 法2
    表已经键好了,在创建唯一键
 alter table uu add unique(name);

全文索引

我们目前所有索引建立都是基于一列的,而且我们一列信息都不大

但是如果一列是文章呢?100000字,
当文章字段或者有大量文字的字段进行检索式,会使用全文索引,MySQL提供全文索引机制,但是又要求,必须是使用mysiam,而且默认的全文索引支持英文,不支持中文

索引创建原则

不能无脑添加索引

  • 比较频繁作为查询条件的字段应该创建索引
  • 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
  • 更新非常频繁的字段不适合创建索引
  • 不会再where自居中的字段不该创建索引
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevin~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值