第二章,基本的分析命令

本章简单介绍了如下几个基本的MySQL分析命令:

  • EXPLAIN命令

    • 生成QEP不是确定的
    • QEP不会绑定给一个SQL或者存储过程,而是在执行的时候根据实际情况生成
    • 可以通过QEP的Key,rows,possible_keys列做初步分析
    • 可选参数partitions(EXPLAIN PARTITIONS)用于解释SQL在分区中的情况
    • 可选参数extended(EXPLAIN EXTENDED)及后续的show warnings可以看到SQL语句可能存在的问题
  • SHOW CREATE TABLE命令
    • 显示当前表,列和索引定义的所有信息
    • mysqldump可以快速生成所有表定义(mysqldump -u user -p --no-data [schema] > schema.sql)
  • SHOW INDEX命令
    • 显示当前表的索引信息和索引基数
    • 索引基数(Cardinality)表示索引中每一列唯一值的数量估计
  • SHOW TABLE STATUS命令
    • 返回表的底层结构,引擎类型,版本,数据和索引大小,行平均长度及行数
    • MyISAM和InnoDB两个引擎之间对行数和平均长度的估计有不同
    • 也可以从IMFORMATION_SCHEMA.TABLES表中获取类似信息。注意:如果表规模较大可能查询需要较长时间

Effective MySQL之SQL语句最优化——读书笔记之二的更多相关文章

  1. Effective MySQL之SQL语句最优化——读书笔记之一

    第一章,DBA5分钟速成 本章知识点如下: 寻找运行慢SQL的语句: show full processlist查看所有正在执行的进程及执行的语句耗时: 命令后面\G可以让命令按行显示(默认是按列). ...

  2. 《Effective MySQL之SQL语句最优化》读书笔记——乱七八糟系列(给自己看)

    该书区别于诸如<MySQL技术内幕——InnoDB存储引擎>等书的一大特色是该书主要讲的是MySQL数据库中的索引技术,并分别讲了InnoDB.MyISAM.Memory三个存储引擎.其中 ...

  3. Oracle SQL 疑难解析读书笔记(二、汇总和聚合数据)

    2.1 对某字段的值进行汇总 仅仅在两种特殊情况下,Oracle在聚合函数中考虑了NULL值.第一种是在GROUPING功能里,用来检验包含了NULL值的分析函数的结果,是直接由所在的表得来,还是由分 ...

  4. 《[MySQL技术内幕:SQL编程》读书笔记

    <[MySQL技术内幕:SQL编程>读书笔记 2019年3月31日23:12:11 严禁转载!!! <MySQL技术内幕:SQL编程>这本书是我比较喜欢的一位国内作者姜承尧, ...

  5. 《Troubleshooting SQL Server》读书笔记-CPU使用率过高(下)

    <Troubleshooting SQL Server>读书笔记-CPU使用率过高(下) 第三章 High CPU Utilization. CPU使用率过高的常见原因 查询优化器会尽量从 ...

  6. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  8. MySQL数据库sql语句的一些简单优化

    1.查询条件的先后顺序 有多个查询条件时,要把效率高能更精确筛选记录的条件放在后边.因为MySQL解析sql语句是从后往前的(不知是否准确). 例: select a.*,b.* from UsrIn ...

  9. mysql下sql语句 update 字段=字段+字符串

    mysql下sql语句 update 字段=字段+字符串   mysql下sql语句令某字段值等于原值加上一个字符串 update 表明 SET 字段= 'feifei' || 字段; (postgr ...

随机推荐

  1. 学习c++的五十条忠告

    1.把C++当成一门新的语言学习: 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programming Language ...

  2. java.lang.ExceptionInInitializerError异常

    今天在开发的过程中,遇到java.lang.ExceptionInInitializerError异常,百度查了一下,顺便学习学习,做个笔记 静态初始化程序中发生意外异常的信号,抛出Exception ...

  3. php命令行按模板生成应用的入口文件

    接着这篇文章php命令行生成项目结构 继续改造: ghostwu@dev:~/php/php1/12$ tree . ├── app │   └── index.php ├── core │   ├─ ...

  4. Object of type 'ListSerializer' is not JSON serializable “listserializer”类型的对象不可JSON序列化

    Object of type 'ListSerializer' is not JSON serializable “listserializer”类型的对象不可JSON序列化 一般原因为 序列化的对象 ...

  5. 【读书笔记】iOS-网络-Web Service协议与风格

    协议指的是在与其它系统交换结构化信息时所要遵循的一套格式,过程与规则.此外,协议定义了在传输过程中所要使用的数据格式.这样,接收系统就能正确地解释结构化信息并做出正应的回应. 1,简单对象访问协议. ...

  6. webpack4.0在Mac下的安装配置及踩到的坑

    一.什么是webpack是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源.它做的事情是,分析你的项目结构,找到JavaScript模块以 ...

  7. css 常用的几种垂直居中(包括图片)

    我知道现在有非常多的水平垂直居中的写法,我就写一些我自己常用的方法,同时说明一下优缺点 <div class="wrapper"> <div class=&quo ...

  8. JSP内置对象——application对象

    下面来举个具体的实例: 运行结果: 其中,city,postcode,email是我自己保存的属性名称,然后最后一行还获取到了当前JSP或者SERVLET的引擎名及版本号.

  9. Android工程中javax annotation Nullable找不到的替代方案

    我们在某些Android开源库中会遇到下面的引用找不到的问题:import javax.annotation.Nonnull;import javax.annotation.Nullable; 其实A ...

  10. Hive Serde - CSV、TSV

    CSV hive-0.14.0内置支持CSV Serde,以前的版本需要引入第三方库的jar包(http://https://github.com/ogrodnek/csv-serde) 现在有个文本 ...