1. 通过 show status 命令了解各个 sql 语句的执行频率
    格式:Mysql> show [session | global] status;
    注:session 表示当前连接
    global 表示自数据库启动至今
    eg:Mysql> show status;
    Mysql> show global status;
    Mysql> show status like 'Com_%';
    Mysql> show global status like 'Com_%';
    **** 判断字段是否需要添加索引,并使用 explain、desc 查看它影响的行数多不多
    a、查看慢查询日志
    b、通过解析 Sql 语句,判断影响行数
    c、通过影响的行数,判断是否需要添加索引,以及索引能否使用
    参数说明
    Com_xxx 表示 xxx 语句执行的次数:
    Com_select:执行 select 操作的次数,一次查询叠加一次
    Com_update: 执行 update 操作的次数
    Com_insert: 执行 insert 操作的次数,对批量插入只算一次
    Com_delete: 执行 delete 删除操作的次数
    只针对 innodb 存储引擎
    Innodb_rows_read: 执行 select 操作行的次数
    Innodb_rows_updated: 执行 update 操作行的次数
    Innodb_rows_inserted: 执行 insert 操作行的次数
    Innodb_rows_deleted: 执行 delete 操作行的次数
    Others:
    connections: 连接 Mysql 的次数 (成功、失败都记录)
    Uptime 服务器已经工作的秒数
    Slow_queries: 慢查询的次数
  2. 定位执行效率较低的 SQL 语句 (显示详细的执行效率)
    a、explain select * from table where id = 1000;
    b、desc select * from table where id = 1000;
    参数解释:
    select_type: 表示 select 的类型。
    SIMPLE 表示不使用表连接或子查询
    PRIMARY 表示主查询,即外层查询
    UNION 表示多个查询合并
    SUBQUERY 表示子查询的第一个 select
    table: stu 表示结果集的表
    type: range 表示表的连接类型,性能不一。
    system 表示表仅有一行
    const 表示只一行匹配
    eq_ref 表示对于前面使用的每一行使用主键和唯一
    ref 表示没有使用主键或唯一
    ref_or_null 表示没有使用主键和唯一同时对 Null 查询
    index_merge 表示索引合并优化
    unique_subquery 表示 in 的后面是一个查询主键字段的子查询
    index_subsquery 表示非主键子查询
    range 表示区间查询
    ndex 表示都通过查询索引得到数据
    all 表示扫描全表得到的数据(尽量避免)
    possible_keys: 表查询是可能使用到的索引
    key: 实际使用到的索引
    key_len: 索引字段的长度
    rows: 扫描行的数量
    Extra: Using where、Using index 执行情况说明

其他查询语句:
Mysql> show variables like "%log%";
Mysql> show variables like "%long%" // 慢查询设置的时间
set global slow_query_log='ON'; 启用慢查询;
set global long_query_time=4;

Mysql 语句优化的更多相关文章

  1. php代码优化,mysql语句优化,面试需要用到的

    首先说个问题,就是这些所谓的优化其实代码标准化的建议,其实真算不上什么正真意义上的优化,还有一点需要指出的为了一丁点的性能优化,甚至在代码上的在一次请求上性能提升万分之一的所谓就去大面积改变代码习惯, ...

  2. MySql基础笔记(二)Mysql语句优化---索引

    Mysql语句优化--索引 一.开始优化前的准备 一)explain语句 当MySql要执行一个查询语句的时候,它首先会对语句进行语法检查,然后生成一个QEP(Query Execution Plan ...

  3. Mysql语句优化

    总结总结自己犯过的错,网上说的与自己的Mysql语句优化的想法. 1.查询数据库的语句的字段,尽量做到用多少写多少. 2.建索引,确保查询速度. 3.orm框架自带的方法会损耗一部分性能,这个性能应该 ...

  4. mysql语句优化原则

    有时候发现数据量大的时候查询起来效率就比较慢了,学习一下mysql语句优化的原则,自己在正常写sql的时候还没注意到这些,先记录下来,慢慢一点一点的学,加油! 这几篇博客写的都可以: https:// ...

  5. mysql语句优化总结(一)

    Sql语句优化和索引 1.Innerjoin和左连接,右连接,子查询 A.     inner join内连接也叫等值连接是,left/rightjoin是外连接. SELECT A.id,A.nam ...

  6. Mysql 语句优化技巧

    前言 有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧. 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础. 优化目标 ...

  7. mysql语句优化方案(网上流传)

    关于mysql处理百万级以上的数据时如何提高其查询速度的方法 最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法. 由于在参与的实际项目中发现当mysql表的数 ...

  8. Mysql语句优化建议

    一.建立索引 1)考虑在 where 及 order by 涉及的列上建立索引 2)对于模糊查询, 建立全文索引 3)对于多主键查询,建立组合索引 二.避免陷阱 然而,一些情况下可能使索引无效: 1) ...

  9. MySQL语句优化方法(简单版)

    基础回顾: sql语句是怎么样运行的? 一般来说,客户端发送sql语句到数据库服务器——数据库服务器进行运算并返回结果——客户端显示sql语句运行结果. 在本地运行时以workbench为例,客户端为 ...

随机推荐

  1. c++入门之浅拷贝和深拷贝

    关于这方面的知识:见一篇精辟博文:https://blog.csdn.net/feitianxuxue/article/details/9275979

  2. SDN 实验室学生们

    SDN实验室系列:https://edu.cnblogs.com/campus/fzu/SdnLab --研究生及本科生们的博客及GitHub链接.欢迎各位大佬招募. 研究生 2018级 姓名 博客地 ...

  3. (Beta)Let's-版本测试报告

    测试中发现的Bug Version 2.0 Bug List 在无活动的活动列表下拉加载会崩溃 不能更改个人头像 用户和活动不显示头像 百度地图无法打开 在某些机型上软件装不上 图片加载有时不加载,有 ...

  4. ssm知识点总结

    项目名称:教育网—在线调查系统 项目总体流程图: 设计调查:调查-->包裹--->问题(增删改查) 1.调整包裹顺序 2.移动复制包裹 3.深度删除 创建调查流程分析: 主要生成surve ...

  5. python3 打开页面后多窗口处理三种方法

    多窗口处理三种方法 导包,实例化浏览器from selenium import webdriver fx=webdriver.Firefox()方法一fx.switch_to.window(fx.wi ...

  6. Mysql 5.7 Windows 版本(zip)的安装简单过程

    1. 下载zip包 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-winx64.zip 2. 找一个目录解压缩 3. 简单进行安装: ...

  7. [转帖]FORFILES 的简单介绍。

    FORFILES https://blog.csdn.net/sandy9919/article/details/82932460 命令格式: forfiles.exe /p "D:\备份& ...

  8. 在JavaEE中使用Mybatis框架

    MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录.每个MyB ...

  9. Appscanner实验还原code1

    import _pickle as pickle from sklearn import svm, ensemble import random from sklearn.metrics import ...

  10. 如何使用apache自带的ab压力测试工具

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 1 我们可以模拟100个并发用户,对一个页面发送1000个请求 ./ab -n1000 -c1 ...