`

mysql 学习1

阅读更多

文章来自:

http://blog.csdn.net/hzy38324/article/category/3068221

 

show variables like 'long_query_time'   查询 慢查询 的时间

set global long_query_time=10000;    更改 慢查询 的时间

 

show variables like 'slow%';         查询 慢查询的日志记录情况

set global slow_query_log=ON;        开启 慢查询的日志记录

日志在mysql安装目录的data下 计算机名+“-slow”

 

 

Explain的作用是生成一个QEP(查询执行计划),可以帮助我们在不真正执行某个sql语句时,就看到mysql怎样执行,这样方便我们去分析sql指令的好坏。

 

执行如下语句

 

 

 

[plain] view plaincopy
  1. Explain select * from emp where empno = 3333\G  

 

 

 

 

 

 

对于返回的信息,我们主要关心一下几个

 

1)    Type

 

ALL全表扫描,通常是不好的,其他的如index、range、const、ref、system则是较好的

 

2)    Possible_keys

 

       可能被用到的索引

 

3)    Key

 

       查询过程中实际使用的索引,当为null时表示没有使用索引,通常是不好的

 

4)    key_len

 

索引字段最大可能使用的长度,也叫索引基数。索引基数越大,表明可能查找的行数越多,查询效率越慢。

 

5)    Rows

 

MySQL 估计的需要扫描的行数。只是一个估计。越多表明查找的行数越多,自然越慢。

 

6)    Extra

 

显示上述信息之外的其它信息,非常重要。其主要有一下返回结果。

 

       Usingindex

 

表明此查询使用了覆盖索引(CoveringIndex),即通过索引就能返回结果,无需访问表。(覆盖索引是一种非常优秀的索引,其使用见http://blog.csdn.net/hzy38324/article/details/44857721

 

若没显示"Usingindex"表示读取了表数据。

 

       Usingindex condition

 

可能会使用索引

 

       Usingwhere

 

表示 MySQL 服务器先读取整行数据,再检查此行是否符合 where 句的条件,符合就留下,不符合便丢弃。效率较慢。

 

       Usingfilesort

 

表示Mysql会按查询所需的顺序对结果进行排序,这时就会出现 Usingfilesort 。排序自然会增加查询时间,导致效率变慢。解决方法是利用索引进行排序。若查询所需的排序与使用的索引的排序一致,因为索引是已排序的,因此按索引的顺序读取结果返回,此时就不会出现Using filesort。

 

       关于“Using index” 和 “Using index condition”的区别,笔者参考了一下stackoverflow上的一篇文章

 

http://stackoverflow.com/questions/1687548/mysql-explain-using-index-vs-using-index-condition

 

里面是这么解释的

 

简单的说

 

Using index就是一定使用索引,这种索引成为覆盖索引,Using index condition则是在必要的时候才使用索引

 

怎样才能让Usingindex condition变成Using index,答案自然是创建一个覆盖索引,同样,笔者将会在之后章节介绍覆盖索引如何创建。

 

 

 

 

 

分享到:
评论

相关推荐

    mysql学习资料大全

    这份"mysql学习资料大全"包含了一系列的资源,对于想要学习或深入理解MySQL的人来说,是一份非常宝贵的资料集。 首先,从标题我们可以推断,这份资料可能涵盖了MySQL的基础到进阶内容,包括安装配置、SQL语言基础、...

    MySQL数据库学习教程从入门到进阶全套笔记

    首先,从【MySQL学习1】开始,我们了解到数据库的基本概念,SQL(Structured Query Language)是用于管理和操作数据库的标准语言。【MySQL学习2】介绍了MySQL的安装与卸载,这是开始学习前必不可少的步骤。【MySQL...

    MySQL学习资料PDF

    这份压缩包包含的三本书籍是MySQL学习的重要资源,涵盖了从基础到高级的全方位知识。 《MySQL必知必会》这本书是MySQL入门的经典之作,适合对数据库没有基础知识的读者。它详细介绍了MySQL的基本操作,包括如何创建...

    Mysql学习资料大全

    本“Mysql学习资料大全”包含了一系列关于MySQL的教程和参考资料,旨在帮助初学者和经验丰富的开发者深入理解和熟练掌握MySQL的各项功能。 首先,从简介及连接部分开始,这部分内容会涵盖MySQL的基本概念,如数据库...

    MYSQL最全的学习资料

    个人推荐mysql学习资料, 很不错,好东西不但要珍藏,还要分享

    MySQL学习源码(MySQL入门教程).zip

    MySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL学习源码(MySQL入门教程).zipMySQL...

    mysql学习用数据库dbt3

    在这个“mysql学习用数据库dbt3”压缩包中,包含了一个名为“dbt3_s1.sql”的文件,这通常是用来初始化或恢复数据库的SQL脚本。 在学习MySQL的过程中,理解数据库的设计和管理至关重要。DBT3提供了一种实践环境,让...

    数据库mysql学习脑图

    本资源“数据库mysql学习脑图”旨在为MySQL初学者提供一个清晰的学习路径,帮助理解其核心概念和功能。 首先,脑图将可能涵盖数据库基础,包括数据库的概念、数据模型(如层次模型、网状模型、关系模型)以及SQL...

    机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计

    机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习数据库+MySQL学习毕业设计机房精空调分类2023+MySQL学习练习...

    官方mysql5.6学习手册

    官方MySQL5.6学习手册是关于MySQL版本5.6的一份详细参考指南,其中还包含了基于NDB Cluster 7.3及7.4版本的参考指南。这份手册的文档范围覆盖了从MySQL 5.6到5.6.44版本,以及NDB Cluster 7.3版本的5.6.43-ndb-7.3....

    mySQL学习资料.rar

    这个“mySQL学习资料.rar”压缩包很可能包含了一系列关于MySQL的学习材料,如教程、手册、示例脚本和使用指南,旨在帮助初学者和进阶者深入理解和掌握MySQL。 首先,让我们来探讨一下MySQL的基础知识。MySQL的核心...

    MySQL学习笔记 MySQL学习笔记

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web应用...学习MySQL不仅涉及理论知识,还需要大量的实践操作来熟悉其语法和功能。掌握MySQL能让你在数据管理、Web开发和系统集成等领域具备更强的竞争力。

    mysql学习手册中文版

    MySQL学习手册中文版是一本全面介绍MySQL数据库管理系统的基础知识的指南,适合初学者及有一定经验的用户进行深入学习。MySQL是一种广泛使用的开源关系型数据库,它以其高效、稳定和易于管理的特点,在各种规模的...

    MySql的用法学习MySql用的,比较合适

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它以其高效、稳定和易于学习的特点在IT行业中占据了重要地位。本资源包显然旨在帮助初学者掌握MySQL的基本用法和概念,提供了一个详细的学习资料。 首先...

    mysql数据库学习手册.docx

    《MySQL学习手册》主要针对Windows平台,深入浅出地介绍了如何管理和使用MySQL数据库系统。以下是对MySQL的安装、Workbench的使用以及基本的数据库操作的详细说明。 1. MySQL的下载与安装: 要安装MySQL,首先访问...

    MYSQL学习资料

    MySQL Proxy应用入门 1 安装MySQL Proxy MySQL Proxy应用入门 2 MySQL Proxy配置选项 MySQL Proxy应用入门 3 使用MySQL Proxy MySQL UDF Mysql Proxy安装配置测 MySQL5 5 Semi synchronous Replication(半同步复制...

    MySQL 学习路线.xmind

    MySQL最全学习线路图 超级详细版

    MySQL学习基础(1)

    MySQL学习基础(1)

    mysql数据库学习资料

    这份学习资料主要涵盖了MySQL的基础操作,包括数据库的管理、表的操作以及数据的增删改查。 首先,我们讨论一下如何启动和停止MySQL服务。在Windows操作系统中,你可以通过命令行工具执行以下命令来启动和停止MySQL...

    Linux下mysql学习笔记

    【Linux下MySQL学习笔记】 MySQL是一款广泛应用于互联网的开源关系型数据库管理系统,尤其在Linux操作系统上,其稳定性和性能表现尤为突出。本笔记主要针对在Linux环境下安装、配置、管理和优化MySQL的过程进行详解...

Global site tag (gtag.js) - Google Analytics