[高性能MySQL]-创建高性能的索引

本文是关于创建索引的的内容:
(1) 索引的类型
(2)索引的优点
(3)优化索引的策略

这里给出一个索引的思维导图:
这里写图片描述

索引是存储引擎用于快速找到记录的一种数据结构。索引是对 查询性能优化 最有效的手段了,索引能够轻松将查询性能提升几个数量级。索引我们一般都是对某一列加索引。

存储引擎先在索引中找到对应值,然后根据匹配的索引记录上的rowid找到对应的数据行。比如运行如下查询语句:

SELECT first_name from actor where actor_id=5;

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

索引可以包含一个或则多个列的值,如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效的使用索引的最左前缀列。创建一个包含两个列的索引和创建两个包含包含一个列的索引是大不相同的。

1.索引数据结构的类型:

索引最常见的是B-Tree索引和哈希索引。要想理解一个索引,首先最重要的就是要理解索引的数据结构,这样才能更好的理解索引并最好利用索引。

(1)B-Tree树索引

一般情况下索引都是指B-Tree索引,它使用B-Tree数据结构来存储数据。实际上其实是基于B+Tree实现的,在每个叶子结点都包含一个指向下一个叶子结点的指针。

B-Tree意味着所有的值都是按照顺序存储的,比如对于name属性,就是按照从a-z的顺序存储的。使用B-Tree索引后,存储引擎不再需要进行全表扫描来获取需要的数据,而是从索引的根节点开始进行搜索,最终结果是要么找到对应的值,要么记录不存在。这样就能够加快访问数据的速度。

B-Tree对索引列是顺序组织存储的,所以很适合查找范围数据。(比如查找I-k开头的名字,这样效率会很高)

B-Tree索引适合的查询类型
(1) 全值匹配:和索引中的所有列进行匹配。

(2)匹配最左前缀:对于一个索引包含多个列,只使用索引的第一列。

(3)匹配列

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《高性能MySQL》是一本非常受欢迎的MySQL性能优化方面的参考书籍。这本书由Baron Schwartz、Peter Zaitsev、Vadim Tkachenko共同撰写,在互联网行业中被广泛应用于提升MySQL数据库的性能。 这本书系统地介绍了MySQL数据库的原理、架构和各种性能优化技术。首先,它详细解释了MySQL的内部工作原理,如存储引擎、查询执行、锁和并发控制等。然后,它深入讨论了MySQL性能调优的各个方面,如查询优化、索引优化、架构设计、应用程序优化等。每个主题都给出了实际案例和经验教训,提供了实用的解决方案和技巧。 《高性能MySQL》对于提高MySQL数据库的性能至关重要。它从数据库管理员和开发人员的角度,通过改进查询性能和优化架构设计等方式,帮助用户了解和解决常见的性能问题。通过实现这些优化措施,用户可以提升MySQL数据库的吞吐量、响应时间和并发性能,从而提升整个应用系统的性能和可伸缩性。 此外,这本书还研究了MySQL的高可用和负载均衡方案,如主从复制、分区和集群等。这些内容对于搭建可靠和高效的MySQL数据库架构至关重要。通过了解和运用这些方案,用户可以提高数据库的可用性和可靠性。 总结而言,《高性能MySQL》电子版是一本全面、实用的MySQL性能优化指南。它对于数据库管理员、开发人员和系统架构师来说都具有重要意义。通过学习和应用这本书中的知识和技巧,用户可以充分发挥MySQL数据库的潜力,提升整体系统的性能和可靠性。 ### 回答2: 《高性能MySQL》是一本经典的数据库技术书籍,全称为《高性能MySQL:第三版》。该书由Jeremy D. Zawodny和Derek J. Balling合著,是MySQL数据库领域的权威著作之一。 《高性能MySQL》的电子版可以通过各大电子书平台或者相关网站获取。电子版的好处在于可以随时随地通过电子设备进行阅读,而无需携带实体书籍。此外,电子版还可以方便地进行书签标注、内容搜索、文本复制等操作,使得学习更加高效。 该书主要讲解了如何优化和调整MySQL数据库以提高性能。内容涵盖了MySQL的架构、索引、查询优化、负载均衡、备份与恢复等多个方面的知识。无论是MySQL数据库管理员、开发人员还是对数据库性能优化感兴趣的读者,都能从中获得宝贵的经验和知识。 《高性能MySQL》电子版中的内容深入浅出,结合大量实例和图表对概念和原理进行了详细的解释和说明。读者能够学习到如何正确地配置和调优MySQL服务器,使其能够快速、高效地响应查询请求,并提高系统的并发性能和稳定性。 总之,电子版的《高性能MySQL》为读者提供了一种便捷的学习方式,通过掌握其中的内容,读者能够更好地理解和应用MySQL数据库,为实际应用提供更优秀的性能。 ### 回答3: 《高性能MySQL - 第3版》是一本权威且实用的MySQL性能优化指南,以电子书形式呈现。这本书由数位MySQL大师合著,探讨了如何使用MySQL构建高性能、可扩展、可靠的数据库应用。 该电子版可以帮助读者了解MySQL的底层工作原理,从而更好地利用其功能和特性。书中详细介绍了用于优化查询和索引、提高服务器性能以及扩展性的策略和技巧。 《高性能MySQL - 第3版》电子版不仅针对开发人员和数据库管理员,也适用于那些需要深入了解MySQL性能优化的读者。不同层次的读者可以根据自己的需求选择适合的章节进行阅读和学习。 这本电子书覆盖了诸多主题,包括MySQL的架构、查询性能优化、索引和表优化、服务器参数调优等。它还涵盖了高可用性和复制的相关内容,帮助读者构建强大且可靠的数据库解决方案。 《高性能MySQL - 第3版》电子版与纸质版一样丰富实用。读者可以利用电子书的便利性,随时随地进行学习和查阅资料。同时,书中还提供了丰富的示例代码和实践案例,有助于读者更好地理解和应用所学的知识。 总之,该电子版是一本对于MySQL性能优化非常有价值的指南,通过深入的讲解和实用的案例,帮助读者解决MySQL性能问题,并构建高性能的数据库应用。无论是新手还是专家,都能从中获得实用的技巧和知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值