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. LookupError: Resource averaged_perceptron_tagger not found. Please use the NLTK Downloader to obtain the resource:

    命令行执行 import nltk nltk.download('averaged_perceptron_tagger') 完事

  2. Elasticsearch 关键字:索引,类型,字段,索引状态,mapping,文档

    1. 索引(_index)索引:说的就是数据库的名字.我这个说法是对应到咱经常使用的数据库. 结合es的插件 head 来看. 可以看到,我这个地方,就有这么几个索引,索引就是数据库,后面是这个数据库 ...

  3. python文件读和写

    fileHandle = open ( 'G:/qqfile/1.txt','w' )fileHandle.write('abcd')#写文件 地址要用反斜杠fileHandle.close() fi ...

  4. 学习 yii2.0——视图之间相互包含

    布局 首先创建一个布局文件simple.php,路径是在views/layout/目录下. <p>this is header</p> <?= $content ?> ...

  5. PyCharm中快速给选中的代码加上{}、<>、()、[]

    快捷键Ctrl + Shift + S 呼出下图所示界面:

  6. C\C++学习笔记 1

    C++记录1 C的头文件为math.h C++的为 cmath using编译指令 namespace 区分不同产品的函数.Mics::cout Linux::cout cout << 即 ...

  7. 【翻译】asp.net core2.1认证和授权解密

    asp.net core2.1认证和授权解密 本篇文章翻译自:https://digitalmccullough.com/posts/aspnetcore-auth-system-demystifie ...

  8. java注解和自定义注解的简单使用

    前言 在使用Spring Boot的时候,大量使用注解的语法去替代XML配置文件,十分好用. 然而,在使用注解的时候只知道使用,却不知道原理.直到需要用到自定义注解的时候,才发现对注解原理一无所知,所 ...

  9. [转帖]SAP一句话入门:Material Management

    SAP一句话入门:Material Management http://blog.vsharing.com/MilesForce/A616683.html 让我们来关注供应链上的另一个模块Materi ...

  10. python学习笔记(5)-基本数据类型-字符串类型及操作

    一.字符串 字符串由一对单引号或者双引号表示,如”abc“,‘中国’,字符串是字符的有序序列,可以对其中的字符进行索引.字符串也可以用三单引号或三双引号表示,可以表示多行字符串,一对单引号或双引号仅表 ...