Mysql索引

索引的原理

没有创建索引的时候,查询进行的是全表扫描
使用索引会形成一个索引的数据结构,比如二叉树

索引的代价

占用磁盘空间
如果对表进行 dml 会对索引进行维护,队速度有影响 (查询快、增删慢)
但在实际项目中,查询操作更多
在这里插入图片描述

索引的类型

主键索引(Primary key)
唯一索引 (UNIQUE) 某列的值不重复,可以考虑使用unique
普通索引 (INDEX)
全文索引 (FULLTEXT) 适用于MyISAM
一般开发中不使用mysql自带的全文索引,而是使用:全文搜索 Solr 和 ElasticSearch

索引的使用

添加索引
create [unique] index 索引名 on Tname (字段名)
alter table Tname add index 索引名 (字段名)
添加主键索引
alter table Tname add primary key (字段名)
删除索引
drop index 索引名 on table
alter table Tname drop primary key
查询索引
show index from Tname
show indexes from Tname
show keys from Tname

小结

应该为作为查询条件使用比较频繁的字段创建索引
唯一性太差、更新比较频繁、不会作为查询条件的字段不应该创建索引

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值