性能分析 | MySQL 的慢查分析实例】的更多相关文章

最近遇见一个 MySQL 的慢查问题,于是排查了下,这里把相关的过程做个总结. 定位原因 我首先查看了 MySQL 的慢查询日志,发现有这样一条 query 耗时非常长(大概在 1 秒多),而且扫描的行数很大(10 多万条数据,差不多是全表了): SELECT * FROM tgdemand_demand t1WHERE(t1.id IN(SELECT t2.demand_idFROM tgdemand_job t2WHERE (t2.state = 'working' AND t2.wangw…
简介 文中内容均为阅读前辈的文章所整理而来,参考文章已在最后全指明 本文分为上下两篇: 上篇:MySQL 的 SQL 执行时间分析 下篇:MySQL 性能优化 后端开发必然会接触到数据库,数据层的优劣会影响整个服务的响应时间.所以,数据库的优化技巧是必须掌握的,下面就是我在学习过程中整理的,备忘. SQL 执行时间分析 通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题. 1.通过 show processlist 来查看系统的执行情况 mysql> show processli…
简介 文中内容均为阅读前辈的文章所整理而来,参考文章已在最后全指明 本文分为上下两篇: 上篇:MySQL 的 SQL 执行分析 下篇:MySQL 性能优化 后端开发必然会接触到数据库,数据层的优劣会影响整个服务的响应时间.所以,数据库的优化技巧是必须掌握的,下面就是我在学习过程中整理的,备忘. 下面为上篇内容,分为以下部分: 一.SQL 执行时间分析 二.SQL 执行情况分析 一.SQL 执行时间分析 通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题. 1.通过 show pr…
[[TOC]] 常用操作指令 show databases:显示所有的数据库: use dbName: 使用指定数据库 show tables: 显示所有的数据表: desc tableName: 查看数据表的字段信息: show create table tableName: 查询创建表的所有信息: show create database dbName: 查看数据库创建指令: show full processlist: 查看所有进程 drop table tableName: 删除表 al…
mysql show profiles使用分析sql性能 Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看一下我的数据库版本 mysql> Select  version(); +---------------------+ | version()           | +---------------------+ | 5.0.82-community-nt | +---------------------+   www.2cto.co…
MySQL性能分析 MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助. 1.使用explain语句去查看分析结果 如explain select * from test1 where id=1;会出现:id  selecttype  table  type possible_keys  key key_len  ref rows  extra各列. 其中, type=const表示通过索引一次就找到了:…
原文地址:mysql慢日志文件分析处理作者:maxyicha mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数. 如果在my.cnf里面修改,需增加如下几行 long_query_time = 10 log-slow-queries = long_query_time 是指执行超过多久的sql会被log下来,这里是10秒. log-slow-queries 设置把日志写在那里,为空的…
概述 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计.对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验.影响的因素很多,比如慢查询.低效的查询语句.没有适当建立索引.数据库堵塞(死锁)等.当然,有测试工程师的团队,会做压力测试,找bug.对于没有测试工程师的团队来说,大多数开发工程师初期不会太多考虑数据库设计是否…
要想分析MySQL查询语句中的相关信息,如是全表查询还是部分查询,就要用到explain. 一.explain 用法:explain +查询语句. id:查询语句的序列号,上面图片中只有一个select 语句,所以只会显示一个序列号.如果有嵌套查询,如下 select_type:表示查询类型,有以下几种 simple: 简单的 select (没有使用 union或子查询) primary: 最外层的 select. union: 第二层,在select 之后使用了 union. depende…
重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化 一:Mysql原理与慢查询 MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”.“SQL语句优化”.“了解数据库原理”等要求.我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,…