Generic placeholder image
闲敲代码、落灯花
What's past is prologue

联系邮箱:email@hezehua.net


联系QQ:1907330840

座右铭

保持热情,持续学习,每日精进

Mysql执行计划

Mysql执行计划

本文与作者在csdn上的博文【Mysql执行计划】保持同步


explain select * from student\G;
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: student
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 2724
        Extra: NULL
1 row in set (0.00 sec)

下面来介绍查询结果中各个属性的含义:
1、id
表示查询中select操作表的顺序
2、select_type
表示选择的类型,常见可选值有:SIMPLE(简单),PRIMARY(最外层),SUBQUERY(子查询中的第一个select查询)
3、type
表示访问类型,有很多种访问类型,最常见的有以下几种:ALL(全表扫描),index(索引扫描),range(范围扫描),ref(非唯一索引扫描),eq_ref(唯一索引扫描),const(常数引用),访问速度依次从慢到快。
4、table
表示查询数据所在表
5、possible_keys
表示该查询语句可能走的索引
6、key
表示该查询语句实际走的索引,包括主键索引(PRIMARY),或者自建索引的名字。
7、key_len
表示索引所使用的字节数
8、ref
表示连接匹配条件,如果走主键索引的话该值为const,全表扫描的话,为null值
9、rows
扫描行数,表示需要扫描多少行才能获取目标行数。通常,rows值越小,效率越高,大多数sql优化都在减少这个值。
10、extra
表示执行sql时的真实情况信息,常见的有:“using where”(使用where筛选),“Using temporary”(使用临时表),“Using filesort”(使用文件排序)。

猜你喜欢
mysql设置用户权限
阅读 424

1、创建用户: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 2、程序中使用的mysql账号应该遵循最小权限原则,不允许夸库查询,故设置专门的账号供程序使用: grant select,update,delete,inser...

Mysql 分组后组内排序按字段取最大或最小的数据
阅读 584

示例: 1、将文章按类型的分组,并获取类型分组中最新的一篇文章 select author,max(`updated_at`) as updated_at from articles group by category_id order by updated_at desc 2、将文章按类...

定时备份mysql数据库压缩文件
阅读 434

首先写一个备份脚本: backup.sh #!/bin/bash #设置文件名中的时间格式 date=`date +%Y_%m_%d` #mysqldump命令需使用绝对路径否则无法正确执行 /usr/local/mysql/bin/mysqldump -uusername -pp...

配置Mysql主从
阅读 361

配置Mysql主从可以做热备、读写分离,是提高网站性能、提高数据安全性的比较有效的方式,而且配置简单,所以笔者在网站因业务逻辑需要大量用到数据库操作而性能不佳时,首先想到要做主从,其实还有别的方案的,比如做缓存,但是做缓存要改代码所以等之后再应用,先把主从给配置了。以下是做Mysql主从的关键步骤...

ERROR! The server quit without updating PID file解决办法
阅读 460

先新建PID文件,并且设置目录权限 再新建sock文件,并且设置目录权限 重启即可 重要的是在my.cnf中设置log_error使之打印日志,然后参考日志去解决错误...

Mysql日志
阅读 298

1、错误日志(Log Error) 记录Mysql服务器进程在启动/关闭或者运行过程中遇到的错误消息,是工作中排查错误的重要工具。 查询方式: show variables like 'log_error'\G; *************************** 1. row ****...

Mysql 从join的结果来更新本表数据
阅读 385

在mysql应用中常常需要通过别的表的查询结果来更新本表,但很少会本表的查询结果再来更新本表的,下面就看看从本表查询结果更新本表应该怎么做吧。 表classify: 字段 属性 id int(11) name string(255) 表production: 字段 ...

建库建表设置统一编码
阅读 495

1、 CREATE DATABASE `database_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 2、 creat table `table_name` ( `id` int(11) unsigned ...