Explain详解(mysql 5.7)

Explain详解(mysql 5.7 innodb)

Explain的列

sql语句每一个select对应explain的每一行记录。

  • id列
    id列是每个select的序列号。id越大执行的优先级超高,id相等时由上而下执行。
  • select_type列
    select_type表示一条sql语句的类型。
    • simple:简单查询。sql语句中不包含子查询和union。
    • primary:最外层的查询语句。当包含子查询或union时。
    • subquery:select语句中的子查询。
    • derived:from语句中的子查询。
    • union:union后的查询。
  • table列
    table列表示当前查询的是哪张表。
    derivedN表示查询当前explain记录中derived id = N的派生表。
  • type列
    type表示查询语句的关联类型访问类型。 即MySQL查找记录的方式和范围。
    从优到劣的顺序为:const–>system–>eq_ref–>ref–>range–>index–>ALL
    多数情况下我们通过此字段判断sql的一个执行情况,一般sql要优化到range/ref级别
    • const
      表中只有一条数据。
    • system
      当sql命中primary key 或者 unique key时,并且只检索一次。
    • eq_ref
      primary key 或者 unique key 做为链接,最多只会返回一条记录。
    • ref
      命中普通索引或者唯一索引部分前缀,并且只检索一次,可能返回多条记录。
    • range
      常出现在in,between、<、>、<=、>=等操作中。使用索引检索范围。
    • index
      扫描全索引(二级索引)。这种检索方式不是从根节点开始检索,而是扫描全部叶子节点。
    • ALL
      全表扫描。相比index全表扫描扫的是主键索引所有叶子节点。我们知道innodb主键索引包含的数据和索引,相比于扫全部二级索引会更慢。
  • possible_keys列
    此列会显示mysql分析出的应该要走到的索引。
  • key列
    此列显示真正执行sql时命中的索引。
  • key_len列
    此列显示命中索引长度。
  • ref列
    此显示了在key列记录的索引中用到的列或常量,常见的有:const(常量),字段名(例:film.id)。
  • rows列
    此列显示了mysql预估的扫描行数。
  • extra列
    此列显示一些额外信息。如Using where,Using index,Using filesort等
    Using filesort : 排序的时候没用到索引而是使用了文件排序。
    单路排序:直接查出所有的记录,在sort buffer进行排序。利用trace工具,当sort_mode为<sort_key,additional_fields>或者<sort_key,packed_additional_fields>时,用的是单路排序。
    双路排序:查出rowId(行所在的索引)及排序字段,在sort buffer里排序完在回表。当sort_mode为<sort_key,rowid>时,用的是双路排序。
    单双路排序的判断依据:通过比较系统变量max_length_for_sort_data(默认1024字节) 的大小和需要查询的字段总大小来判断使用哪种排序模式。
    • 如果字段的总长度小于max_length_for_sort_data ,使用单路排序。
    • 如果字段的总长度大于max_length_for_sort_data ,使用双路排序。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MySQL 5.7是一个广泛使用的关系型数据库管理系统,下面是MySQL 5.7维护手册的内容: MySQL 5.7维护手册提供了关于如何维护MySQL数据库的详细信息。手册中包含了许多方面的内容,包括安装、配置、备份和恢复、性能优化、监控和故障排除等。 手册首先介绍了如何安装和配置MySQL数据库。它详细描述了安装过程中的各个步骤,并提供了配置文件的相关指导。此外,手册还介绍了如何升级和卸载MySQL 5.7。 接下来,手册讲解了如何备份和恢复MySQL数据库。它介绍了备份的几种方法,包括物理备份和逻辑备份,并讨论了每种方法的优缺点。手册还解释了如何进行数据恢复,并提供了一些常见问题的解决方案。 性能优化是MySQL数据库维护中的一个重要方面。手册中提供了一些性能优化的技巧和建议,包括优化查询语句、索引优化、参数调整以及缓存设置等。此外,手册还介绍了一些常见的性能问题,并提供了相应的解决方案。 监控是保持MySQL数据库正常运行的关键。手册中列举了一些有效的监控工具和技术,包括使用内置的监控工具、使用第三方监控工具以及编写自定义脚本。手册还介绍了一些常见的故障排除方法,帮助用户解决数据库运行中可能出现的问题。 总而言之,MySQL 5.7维护手册是一个全面的指南,涵盖了安装、配置、备份和恢复、性能优化、监控和故障排除等方面的内容。它为用户提供了解决MySQL数据库相关问题的详细信息和方法。无论是初学者还是有经验的数据库管理员,都可以从中获得帮助。 ### 回答2: MySQL 5.7是一个流行的关系型数据库管理系统,具有强大的功能和灵活性。维护MySQL数据库非常重要,可以保持数据库的性能和稳定性。以下是MySQL 5.7维护手册的一些关键内容: 1.备份和恢复:通过定期备份可以保护数据库免受意外数据丢失的影响。MySQL 5.7提供了多种备份方法,包括物理备份和逻辑备份。通过使用合适的备份和恢复策略,可以确保数据库的完整性和可用性。 2.性能调优:MySQL 5.7提供了一套丰富的性能调优工具和功能,可以帮助提升数据库的响应速度和吞吐量。例如,可以使用Explain来分析查询计划,使用慢查询日志来找出性能问题的根本原因,并使用索引和分区等技术来优化查询性能。 3.安全性管理:MySQL 5.7提供了多种安全功能和选项,用于保护数据库的机密性和完整性。例如,可以使用访问控制列表(ACL)来限制用户对数据库的访问权限,使用SSL/TLS来加密数据传输,以及启用审计日志来跟踪数据库的操作。 4.故障处理和性能监测:MySQL 5.7提供了多种故障处理和性能监测工具,用于检测和处理数据库中的故障,并监测和诊断数据库的性能问题。例如,可以使用MySQL的错误日志来查找和解决故障,使用性能模式和工具来监测数据库的性能指标,并使用监控和警报系统来及时发现和解决潜在的问题。 5.升级和迁移:维护手册还包括了MySQL 5.7的升级和迁移指南。根据具体情况,可以选择在原有的环境中升级MySQL,或者将数据迁移到新的服务器上。无论选择哪种方式,都需要进行适当的规划和测试,以确保平滑和成功地完成升级或迁移过程。 综上所述,MySQL 5.7维护手册涵盖了备份和恢复、性能调优、安全管理、故障处理和性能监测、升级和迁移等关键内容。通过遵循这些指南和最佳实践,可以确保MySQL数据库的正常运行和高效性能。 ### 回答3: MySQL是一种常用的开源关系型数据库管理系统,版本5.7是其较早的一个版本。MySQL 5.7维护手册是为了帮助用户更好地使用和维护这个版本的MySQL数据库而编写的。下面我将用300字中文回答有关MySQL 5.7维护手册的问题。 MySQL 5.7维护手册包含了大量关于MySQL数据库的维护和管理的内容,主要分为以下几个方面: 1. 数据库备份与恢复:介绍了如何进行数据库的备份和恢复操作,以保证数据的安全性和可用性。手册详细说明了备份和恢复的方法,以及如何选择合适的备份策略。 2. 数据库性能优化:手册介绍了各种优化技术和方法,帮助用户改善数据库的性能。这些方法包括如何优化查询语句、配置数据库参数、使用索引和分区等。 3. 数据库安全性:手册详细介绍了如何保护数据库的安全性,包括访问控制、权限管理、数据加密和身份验证等方面的内容。用户可以根据手册提供的指导,加强数据库的安全防护能力。 4. 故障排除和故障恢复:手册提供了针对不同类型故障的排查和恢复方法,帮助用户解决数据库出现的问题。这些问题可能涉及到数据库服务的故障、数据损坏和性能下降等。 5. 高可用和负载均衡:手册介绍了MySQL 5.7的高可用和负载均衡的解决方案,如复制和集群技术。用户可以根据手册提供的步骤和配置进行部署和管理。 总之,MySQL 5.7维护手册是一本很有价值的参考资料,对于使用MySQL 5.7的用户来说,可以帮助他们更好地了解和使用这个版本的数据库。手册内容丰富,涵盖了数据库备份与恢复、性能优化、安全性、故障排除和高可用等方面,提供了详细的操作步骤和建议,对于用户维护和管理MySQL 5.7数据库非常有帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值