MySQL之索引

MySQL之《索引》


一、索引由何而来?

在普遍的查询中要求越高速度就越缓慢、因此索引运营而生。

二、索引是什么?

由一、我们get到:索引就是加快我们检索速度的一种方式,抽象的来说它是一种理念,实际它真的是方便。

举个例子:就好比如我们生活中查字典首先都会去找它的拼音,同理,索引就是干这个的。

二、它有什么作用?

加快查询速度:根据索引分组和排序,可以加快分组和排序。

三、索引的好处?(优势、劣势)

优势: 加快检索速度,大大提高工作效率。
劣势:

  1. 索引本身也是一个表,因此也会占用储存空间。
  2. 索引的维护和创建需要时间成本,成本会随数据量增大而增大。
  3. 构建索引会降低数据表的修改操作(删除、添加、修改),因为在修改数据表的同时还需修改索引表。

四、怎样使用索引?

创建索引

建(添加)索引
方式一、(在创建表时候创建索引)
index表示索引,myindex表示定义的索引名称。

	CREATE TABLE mytable( 
		ID INT NOT NULL, 
		username VARCHAR(16) NOT NULL,
		INDEX myindex (username(16))
	);

方式二、(在创建表之后创建索引)
语法:create index 索引名字 on 表名 (要添加索引的字段名(字段长度))

CREATE INDEX myindex ON mytable(username(16)); 

或者

ALTER table mytable ADD INDEX myindex(username)

查看索引

语法:show index from 表名

DROP INDEX myindex ON mytable; 
或者ALTER TABLE mytable DROP INDEX myindex;

删除索引

关键字:drop或者alter
语法:drop index 索引名字 on 表名

DROP INDEX myindex ON mytable; 
或者ALTER TABLE mytable DROP INDEX myindex;

五、索引分类

常见的索引有:主键索引、唯一索引、普通索引、全文索引、组合索引。

  1. 主键索引: 即主索引,根据主键建立索引,不允许重复、不允许为空。
  2. 唯一索引: 用来建立索引的列的值必须是唯一的,允许空值。
  3. 普通索引: 用表中的普通列构建的索引,没有任何限制。
  4. 全文索引 用大文本对象的列构建的索引。
  5. 组合索引 用多个列组合构建的索引,这个列中的值不允许为空值。

六、怎样判断需要用不用索引?

(1)适合建立索引的情况

  • 主键自动建立唯一索引。
  • 经常作为查询条件在where或者order by 语句中出现的列要建立索引。
  • 作为排序的列要建立索引。
  • 查询中与其他表关联的字段,外键关系建立索引。
  • 高并发条件下倾向组合索引。
  • 用于聚合函数的列可以建立索引,列入使用了max(column_1)或者count(column_1)时的column_1就需要建立索引。

(2)不适合建立索引的情况

  • -经常增删改查的列不要建立索引。
  • 有大量重复的列不建立索引。

总结

索引:简化生活从你我开始。

下一章-MySQL之《事务》.

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

'Beyond'

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

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

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

打赏作者

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

抵扣说明:

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

余额充值