小贝_mysql sql语句优化过程
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语句优化过程的更多相关文章
- 小贝_mysql优化学习
mysql优化 简要: 1.数据库设计优化 2.sql语句优化 3.表切割 4.读写分离技术 一.数据库设计优化 1.表设计要符合三范式.当然,有时也须要适当的逆范式 2.什么是三范式 一范式: 具有 ...
- ORACLE性能优化之SQL语句优化
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 操作环境:AIX +11g+PLSQL 包含以下内容: 1. SQL语句执行过程 2. 优化器及执行计划 3. 合 ...
- MySQL常用SQL语句优化
推荐阅读这篇博文,索引说的非常详细到位:http://blog.linezing.com/?p=798#nav-3-2 在数据库日常维护中,最常做的事情就是SQL语句优化,因为这个才是影响性能的最主要 ...
- SQL语句优化 -- 以Mysql为例
本文参考下面的文章: 1: [真·干货]MySQL 索引及优化实战 2: Mysql语句的执行过程 3: sql优化的几种方法 我将 sql语句优化分为三个方面,(此处不包括 业务逻辑的 ...
- Oracle SQL语句优化34条
非常好用的SQL语句优化34条 1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 dri ...
- 提高系统性能——对SQL语句优化的思考
软件在研发的过程中自始至终都在留意着系统的可扩展性.但与此同一时候也在关注着系统的性能,SQL语句作为系统性能的一环不容忽视.从今天開始结合开发的经验,谈一下我对SQL语句优化的理解和认知: 1.在联 ...
- 重新学习MySQL数据库12:从实践sql语句优化开始
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/79394168 本文不堆叠网上海量的sql优化技巧或 ...
- php面试专题---MySQL常用SQL语句优化
php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...
- sql语句优化原理
前言 网上有很多关于sql语句优化的文章,我这里想说下为什么这样...写sql语句,能够提高查询的效率. 1 sql语句优化原理 要想写出好的sql,就要学会用数据库的方式来思考如何执行sql,那么什 ...
随机推荐
- JAVA 学习笔记 - 基础语法 2
---恢复内容开始--- 1.数组的申明和应用 数据类型 数组名称[] = null; //在堆栈中申明变量名称 数组名称 = new 数据类型[10]; // ...
- 判断excel是否包含隐藏sheet
Workbook workbook =new XSSFWorkbook("D:\\文档1.xlsx"); System.out.println(workbook.isSheetHi ...
- Codeforces_766_C_(dp)
C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Crash reporter
A crash reporter is a software application whose function is to identify report crash details and to ...
- Django - 自定义simple_tag
使用现有函数: 通过对传入的参数,后面跟一个管道符号+python函数,来完成对传入参数的修改. 返回值 自定义simple_tag: 具体操作步骤如下: 1.在某个app下,创建目录template ...
- (C/C++学习)20.基于C++改进的单目标遗传算法
说明:在学习生活中,经常会遇到各种各样的最优问题,其中最常见的就是求某个多维(多个自变量)函数在各个自变量各取何值时的最大值或最小值:例如求函数 f(x) = (x-5)2+(y-6)2+(z-7)2 ...
- [BOI2008]Elect 选举
背包. #include <algorithm> #include <iostream> #include <cstdlib> #include <cstri ...
- Linux下挂载新磁盘
Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. 1.关闭服务器加上新硬盘 2.启动服务器,以r ...
- SQLAlchemy-Utils
由于sqlalchemy中没有提供choice方法,所以借助SQLAlchemy-Utils组件提供的choice方法. 安装: pip3 install sqlalchemy_utils 示例: f ...
- Liunx学习笔记(三) 文件权限
一.文件权限 1.查看文件权限 (1)文件权限 在 Linux 中对于文件有四种访问权限,列举如下: 可读取:r,Readable 可写入:w,Writable 可执行:x,Execute 无权限:- ...