小贝_mysqlsql语句优化过程_MySQL
Jun 01, 2016 pm 12:59 PMsql语句优化
一、SQL优化的一般步骤
(1)、通过show status命令了解各种SQL的执行频率。
(2)、定位执行效率较低的SQL语句-(重点select)
(3)、通过explain分析低效率的SQL语句的执行情况
(4)、确定问题并采取相应的优化措施
(1) 通过showstatus命令了解各种SQL的执行频率
MySQL客户端连接成功后,通过使用show[session|global] status 命令可以提供服务器状态信息。其中的session来表示当前的连接的统计结果,global来表示自数据库上次启动至今的统计结果。默认是session级别的。
下面的例子: show status like ‘Com_%’;
其中Com_XXX表示XXX语句所执行的次数。
重点注意:
Com_select,Com_insert,Com_update,Com_delete通过这几个参数,可以容易地了解到当前数据库的应用是以插入更新为主还是以查询操作为主,以及各类的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:试图连接MySQL服务器的次数(成功or失败都会进行累加)
uptime:服务器工作的时间(单位秒)
slow_queries:慢查询的次数 (默认是10)
(2)、定位执行效率较低的SQL语句
通过开启慢查询
(3)、通过explain分析低效率的SQL语句的执行情况
(4)、确定问题并采取相应的优化措施

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











MySQL에서 테이블 잠금을 해제하는 명령문을 구현하는 방법은 무엇입니까?

MySQL에서 테이블을 생성하는 명령문을 구현하는 방법은 무엇입니까?

MySQL에서 사용자 비밀번호를 변경하는 명령문을 구현하는 방법은 무엇입니까?
