sql语句优化

一、SQL优化的一般步骤

(1)、通过show status命令了解各种SQL的运行频率。

(2)、定位运行效率较低的SQL语句-(重点select)

(3)、通过explain分析低效率的SQL语句的运行情况

(4)、确定问题并採取对应的优化措施

(1) 通过showstatus命令了解各种SQL的运行频率

MySQLclient连接成功后,通过使用show[session|global] status 命令能够提供server状态信息。

当中的session来表示当前的连接的统计结果,global来表示自数据库上次启动至今的统计结果。默认是session级别的。

以下的样例: show status like ‘Com_%’;

当中Com_XXX表示XXX语句所运行的次数。

重点注意:

Com_select,Com_insert,Com_update,Com_delete通过这几个參数,能够easy地了解到当前数据库的应用是以插入更新为主还是以查询操作为主。以及各类的SQL大致的运行比例是多少。

參数说明:

com_xxx表示每一个xxx语句的运行次数.如:

com_select 表示运行select操作的次数,一次查询仅仅累计加1

com_update 表示运行update操作的次数

com_insert 表示运行insert操作的次数,对批量插入仅仅算一次

com_delete 表示运行delete操作的次数

仅仅针对innodb存储引擎的參数

Innodb_rows_deleted运行delete操作所影响的行数

Innodb_rows_inserted运行insert操作所影响的行数

Innodb_rows_read运行select操作所影响的行数

Innodb_rows_updated运行update操作所影响的行数

还有几个经常使用的參数便于用户了解数据库的基本情况。

connections:试图连接MySQLserver的次数(成功or失败都会进行累加)

uptime:server工作的时间(单位秒)

slow_queries:慢查询的次数 (默认是10)

(2)、定位运行效率较低的SQL语句

通过开启慢查询

(3)、通过explain分析低效率的SQL语句的运行情况

(4)、确定问题并採取对应的优化措施

The quieter you become,the more you are able to hear!

小贝_mysql sql语句优化过程的更多相关文章

  1. 小贝_mysql优化学习

    mysql优化 简要: 1.数据库设计优化 2.sql语句优化 3.表切割 4.读写分离技术 一.数据库设计优化 1.表设计要符合三范式.当然,有时也须要适当的逆范式 2.什么是三范式 一范式: 具有 ...

  2. ORACLE性能优化之SQL语句优化

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   操作环境:AIX +11g+PLSQL 包含以下内容: 1.  SQL语句执行过程 2.  优化器及执行计划 3.  合 ...

  3. MySQL常用SQL语句优化

    推荐阅读这篇博文,索引说的非常详细到位:http://blog.linezing.com/?p=798#nav-3-2 在数据库日常维护中,最常做的事情就是SQL语句优化,因为这个才是影响性能的最主要 ...

  4. SQL语句优化 -- 以Mysql为例

     本文参考下面的文章:    1: [真·干货]MySQL 索引及优化实战 2:  Mysql语句的执行过程 3:  sql优化的几种方法 我将  sql语句优化分为三个方面,(此处不包括 业务逻辑的 ...

  5. Oracle SQL语句优化34条

    非常好用的SQL语句优化34条 1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 dri ...

  6. 提高系统性能——对SQL语句优化的思考

    软件在研发的过程中自始至终都在留意着系统的可扩展性.但与此同一时候也在关注着系统的性能,SQL语句作为系统性能的一环不容忽视.从今天開始结合开发的经验,谈一下我对SQL语句优化的理解和认知: 1.在联 ...

  7. 重新学习MySQL数据库12:从实践sql语句优化开始

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/79394168 本文不堆叠网上海量的sql优化技巧或 ...

  8. php面试专题---MySQL常用SQL语句优化

    php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...

  9. sql语句优化原理

    前言 网上有很多关于sql语句优化的文章,我这里想说下为什么这样...写sql语句,能够提高查询的效率. 1 sql语句优化原理 要想写出好的sql,就要学会用数据库的方式来思考如何执行sql,那么什 ...

随机推荐

  1. vuex的各个细节理解(因人而异)

    应用级的状态集中放在store中: 改变状态的方式是提交mutations,这是个同步的事物: 异步逻辑应该封装在action中. const vuex_store = new Vuex.store( ...

  2. swift extension 的最终目的是结合

    与数据结合:对数据进行操作: 与行为结合:使用原有行为生成更便捷的行为: 与协议结合:实现协议: 与类型结合:对类型数据进行操作,添加新的行为: 与关联类型.泛型结合:对类型做出限定.

  3. CMU-准备

    TOEFL成绩90分以上,GPA大于3.0,GRE1250分以上(不做明确要求) 申请条件:GRE成绩,建议有专科成绩;托福250,雅思7.0;简历;3封推荐信 TOEFL(The Test of E ...

  4. react 导航切换

    <ul class="nav"> <li onClick={() => this.changeFontColor(0)} className={`${0 = ...

  5. 【Hadoop】三、HDFS命令行接口

      通过前面对HDFS基本概念.高可用性.数据读写流程的介绍,我们对HDFS已经有了大致的了解.这里我们还需要明确一点:Hadoop作为一个完整的分布式系统,它有一个抽象的文件系统的概念,而我们介绍的 ...

  6. 使用TransactionTemplate

    通过TransactionCallback接口中的方法后(这里用来做业务),将返回值传递到TransactionTemplate的execute()中.通过调用TransactionStatus 的s ...

  7. jdbcTemplate传参使用Map或List

    List传参方式 举个例子 sql = "select * from table where id=? and param=?": sql中的参数要用?形式,然后使用list.ad ...

  8. dorado 7 使用总结

    最近项目上需要,使用了dorado 7 ,总体感觉还可以,快速开发很方便,然而在方便的同时,难免有些太过繁琐,很多东西都封装了起来,会造成很多不便.因此快速开发的项目可以使用,其它的不推荐.现在打算将 ...

  9. Luogu P1540 机器翻译

    思路 大水题,只需要静下心来模拟就行.我一开始做的时候,首先想到滚动数组但是写完之后发现并不符合题目要求.题目要求新加入的单词作为最新的,在时间上属于最后一个.但是如果用滚动数组的话,新加入的单词就成 ...

  10. SRAM的简单概念

    CY7C138 版权声明:本文为博主原创文章,未经博主允许不得转载.