`
王之子
  • 浏览: 109818 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

MySQL 语句性能分析

 
阅读更多

MySQL 执行计划就是在一条 SELECT 语句前放上关键词 EXPLAIN ,MySQL 解释它将如何处理 SELECT,提供有关表如何联合和以什么次序联合的信息。借助于 EXPLAIN 可以知道:

  • 什么时候必须为表加入索引,以得到一个使用索引找到记录的更快的 SELECT 方法。
  • 优化器是否以一个最佳次序联结表



 各属性的含义如下:

 

id:查询的序列号

select_type:查询的类型,主要包括普通查询、联合查询和子查询。

table: 所访问数据库中表的名称。

type:联合查询使用的类型。

possible_keys:指出 MySQL 能使用哪个索引在该表中找到该行。如果这个值是空的,则表示没有相关的索引。这时要提高性能,可通过检验 WHERE 子句,看是否引用了某些字段,或者检查字段是否适合索引。

key:显示MySQL 实际决定使用的键。如果没有索引被选择,键是 NULL。

key_len:显示MySQL 决定使用的键长度。如果键是 NULL,长度就是NULL。注意,这个值可以反映出一个多重主键里 MySQL 实际使用了哪部分。

ref:显示哪个字段或常数与 key 一起被使用。

rows:这个值表示 MySQL 要遍历多少数据才能找到所需的结果集,其在 InnoDB 上是不准确的。

Extra:如果是 Only index,意味着信息只能用索引树中的信息检索,这比扫描整个表要快;如果是 where used,则表示使用了 where 限制,但是用索引还不够;如果是 impossible where,则表示通过收集到的统计信息判断出不可能存在的结果。除此之外,Extra 还有下面一些可能值:Using filesort  表示包含 orderby 且无法使用索引进行排序操作时,不得不使用相应的排序算法实现。using temporary 使用临时表,常见于 orderby 和 group by。select tables optimized way 使用聚合函数,并且 MySQL 进行了快速定位。通常是 MAX,MIN,COUNT(*) 等函数。

 

需要说明的是,type 显示的访问类型是较重要的指标,结果值从好到坏依次是:system(系统表)、const(读常量)、eq_ref(最多一条匹配结果,通常是通过主键访问)、ref(被驱动表索引使用)、fulltext(全文索引检索)、ref_or_null(带空值的索引查询)、index_merge(合并索引结果集)、unique_subquery(子查询中返回的字段是唯一组合或索引)、index_subquery(子查询返回的是索引,但非主键)、range(索引范围扫描)、index(全索引扫描)、ALL(全表扫描)。

 

一般来说,保证查询至少达到 range 级,最好能达到 ref 级。ALL 为全表扫描,是最坏的情况,这种情况往往是没用上索引。

  • 大小: 9.4 KB
分享到:
评论

相关推荐

    【36】最新精选蚂蚁-MySQL语句性能优化视频教程下载 .txt

    根据提供的文件信息,我们可以推断出本教程主要围绕MySQL语句性能优化展开,这是一项非常重要的数据库管理技能,尤其对于那些处理大量数据的应用程序来说至关重要。下面将详细阐述与MySQL语句性能优化相关的知识点。...

    【No206】最新精选蚂蚁-MySQL语句性能优化视频教程下载

    ### MySQL语句性能优化知识点详解 #### 一、MySQL简介及优化的重要性 MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),因其高效性、稳定性和可扩展性而在各种应用场景中备受青睐。随着数据量的增长和...

    Mysql语句性能分析-EXPLAIN

    分析你的查询语句或是表结构的性能瓶颈。 如下面SQL语句: EXPLAIN select * from system_area where status = 1 获得下面的结果: select_type SIMPLE:简单表,不使用表连接或子查询 PRIMARY:主查询,即外层的...

    MySQL性能分析show profiles详解(csdn)————程序.pdf

    MySQL的性能分析是数据库管理中至关重要的任务,有助于提升查询效率和整体系统性能。`SHOW PROFILES`是MySQL提供的一种工具,用于分析SQL语句在执行过程中的资源消耗情况,帮助我们定位性能瓶颈。本篇将深入讲解`...

    MySQL性能分析与优化调整

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其性能分析和优化是数据库管理员及开发者日常工作中至关重要的一环。本文将深入探讨MySQL性能分析的关键技术、优化策略以及如何进行调整。 一、性能分析 1....

    mysql语句跟踪.txt

    通过分析慢查询日志,可以找出数据库性能瓶颈,优化SQL语句或数据库结构,提升系统性能。 #### 配置方法 慢查询日志的开启方式与General Log和Binary Log类似,可以通过以下命令或配置文件进行设置: ```sql ...

    MySQL DELETE 删除语句加锁分析1

    在MySQL中,DELETE语句的加锁行为是数据库事务处理的重要组成部分,尤其是在并发环境中,正确理解其加锁机制对于避免死锁和提高系统性能至关重要。本篇文章主要探讨了在不同隔离级别下,针对不同索引类型的DELETE...

    mysql的explain分析sql语句性能(慢查询和加没加索引)

    MySQL 的 Explain 分析 SQL 语句性能(慢查询和加没加索引) MySQL 的 Explain 分析 SQL 语句性能是数据库性能优化的重要工具之一。通过 Explain 命令可以分析 SQL 语句的执行计划,了解 SQL 语句的执行过程,找出...

    java实体转mysql建表语句

    首先,分析实体类的属性,然后根据属性类型选择对应的MySQL数据类型,比如`String`对应`VARCHAR`,`int`对应`INT`,`Date`对应`DATE`或`TIMESTAMP`等。同时,别忘了添加主键、外键、索引等约束。 6. **数据类型映射...

    SQL语句性能分析之explain

    ### SQL语句性能分析之explain #### 概述 在数据库管理及开发过程中,SQL查询语句的性能优化是一项至关重要的工作。为了更好地理解和优化SQL查询,MySQL提供了一个非常有用的工具——`EXPLAIN`。通过在SQL语句前...

    百度mysql性能优化ppt

    【标签】:“源码”意味着可能会涉及到MySQL内部的工作原理,比如解析器、执行器、存储引擎的源代码分析,帮助我们理解MySQL如何处理SQL语句,如何读写数据。“工具”可能指的是用于性能监控和诊断的各种实用工具,...

    Effective MySQL之SQL语句最优化.pdf

    5. 查询语句的分析:分析SQL语句是为了找出可能影响性能的部分,如慢查询。可以利用EXPLAIN命令来查看SQL的执行计划,包括执行顺序、扫描行数、是否使用索引等信息。 6. 索引的使用:合理创建和使用索引可以大大...

    mysql性能分析工具sqlyog

    MySQL性能分析工具——SqlYog SqlYog是一款强大的MySQL数据库管理工具,它以其直观的图形用户界面(GUI)和高效的功能集而受到广大数据库管理员和开发者的喜爱。这款工具提供了一种简单的方式,使用户能够更有效地...

    语句性能分析之索引、内存、性能优化

    在应用系统开发初期,由于系统数据量比较少,sql语句的性能能优劣无法体现出来,但系统提交到生产环境后,随着数据库中数据量的不断增加,系统的响应速度会成为最重要的解决问题之一。实现同样的功能,高质量的sql会...

    MySQL-性能优化-影响MySQL性能的因素分析及解决方案.docx

    MySQL 性能优化 - 影响 MySQL 性能的因素分析及解决方案 MySQL 性能优化是数据库管理中最重要的一部分,影响 MySQL 性能的因素有很多,例如硬件资源、操作系统、数据库参数设置、数据库结构设计和 SQL 语句等。本文...

    mysql性能优化.SQL语句性能优化

    以下是一些关于SQL语句性能优化的关键知识点: 1. **LIMIT使用**: LIMIT子句常用于限制查询返回的结果数量,尤其是在分页查询中。它可以有效地减少不必要的数据传输,减轻服务器负载。例如,`SELECT * FROM table...

    Effective MySQL之SQL语句最优化(高清)

    《Effective MySQL之SQL语句最优化》提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧做了详细的解释。《Effective MySQL之SQL语句最优化》希望能够通过一步步详细介绍SQL优化的方法,帮助...

    oracle 到mysql转换工具

    工具会自动分析表结构,并将其转换为MySQL兼容的格式。 3. 数据预览与筛选:用户可以预览即将迁移的数据,根据需要过滤或调整数据,避免不必要的数据迁移。 4. 字段类型映射:由于Oracle和MySQL的字段类型存在差异...

    MySQL数据库性能优化分析.pdf

    "MySQL数据库性能优化分析" MySQL数据库性能优化分析是数据库优化的重要环节,对于提高数据库的运行效率和工作能力具有重要的意义。本文将从数据库运行语句、数据库索引以及构造设计等层面对MySQL数据库进行深入的...

    mysql的安装包,安装方法,主从复制,性能分析,慢语句查询

    在这个压缩包中,您将找到关于MySQL的安装、主从复制、慢语句查询和性能分析的重要资源。 首先,让我们来详细了解每个部分: 1. **MySQL安装**: "安装方法.txt" 文件应该包含了MySQL 5.6的详细安装步骤。安装...

Global site tag (gtag.js) - Google Analytics