mysql高性能索引_MySQL 高性能的索引

索引(在 MySQL 中也叫做“键( key )”)是存储引擎用于快速找到记录的一种数据结构。

索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引对性能的影响愈发重要。

索引基础

在 MySQL 中,存储引擎用类似的方法使用索引,其先在索引中找到对应值,然后根据匹配的索引记录找到对应的行,假如使用以下查询:

mysql > select first_name from sakila.actor where actor_id = 5;

如果在 actor_id 列上建有索引,则 MySQL 将使用该索引找到 actor_id 为5的行,也就是说,MySQL 先在索引上按值进行查找,然后返回所有包含该值的数据行。

索引可以包含一个或者多个列的值。如果索引包含多个列,那么列的顺序也十分重要,因为 MySQL 只能高效地使用索引的最左前缀列。

索引的优点

索引可以让服务器快速定位到表的指定位置。但是并不是索引的唯一作用,根据创建的索引的数据结构不同,索引也有一些其他的作用。

最常见的 B-Tree 索引,按照顺序存储数据,所以 MySQL 可以用来做 GROUP BY 操作。因为数据是有序的,所以 B-Tree 也就会将相关的列值都存储在一起。最后,因为索引中存储了实际的列值,所以某些查询只使用索引就能够完成全部查询。据此特性,总结下来索引有以下三个优点:

1. 索引大大减少了服务器要扫描的数据量

2. 索引可以帮助服务器避免排序和临时表

3. 索引可以将随机 I/O 变为顺序 I/O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值