mysql查询速度慢的分析和解决

一.定位执行慢的sql,如2秒内没执行完的抽取出来

show engines;
查看慢查询时间
show variables like ‘slow%‘;
查看设置多久是慢查询
show variables like ‘long%‘;
修改慢查询时间
set long_query_time=1;
打开慢查询记录日志
set global slow_query_log=‘ON‘;
查看哪些线程正在运行
show full processlist
查看最大连接数
show variables like ‘%max_connections%‘;
当前连接数
show status like ‘Threads_connected%‘;

二.解决

1.首先从自身sql入手,把sql放入navicat执行一次,看看需要多久,sql军规是否遵守,*,in等是否出现

2.最大连接数是否不满足当前连接数,考虑扩大?

3.索引优化,常用字段做索引,而且txt等数据类型不要做索引

4.服务器硬件升级

原文地址:https://www.cnblogs.com/tongcc/p/11283005.html

时间: 2024-10-09 00:49:57

mysql查询速度慢的分析和解决的相关文章

分分钟解决 MySQL 查询速度慢与性能差

一.什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素 1.2 风险分析 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS:是TransactionsPerSecond的缩写,也就是事务数/秒.它是软件测试结果的测量单位.客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数. Tips:最好不要在主库上数据库备份,大型活动前

SQL Server数据库查询速度慢的原因和解决方法

问 SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没

mysql查询速度慢的原因[整理版]

在以前的博客中陆续记录了有关查询效率方面的文章.今天在整理一下,写上自己的一些心得记录如下:常见查询慢的原因常见的话会有如下几种:1.没有索引或没有用到索引.PS:索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表 的所有记录,直至找到符合要求的记录.表里面的记录数量越多,这个操作的代价就越高.如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录 即可迅速得到目标记录所在的位置.如果表有10

MySQL Err 1418 的原因分析及解决方法

MySQL的有个参数log_bin_trust_function_creators,官方文档对这个参数的介绍.解释如下所示: This variable applies when binary logging is enabled. It controls whether stored function creators can be trusted not to create stored functions that will cause unsafe events to be writte

MySQL查询速度测试->连接查询

快速生成大量数据 INSERT INTO tableName1(pn_code,belong_id,factory_number) SELECT pn_code,belong_id,factory_number FROM tableName1 四张表合计4000万条数据, 如果不带where,联查的速度是非常快的,前提是需要带limit,limit越小越快, 如果联查后带where 筛选,速度会非常慢,所以大数据量下,有where根据实际情况,可以分批进行查询 下面附带记得函数和存储过程备用 1

MySQL死锁问题实例分析及解决方法

MySQL死锁问题的相关知识是本文我们主要要介绍的内容,接下来我们就来一一介绍这部分内容,希望能够对您有所帮助. 1.MySQL常用存储引擎的锁机制 MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-level locking)或表级锁,默认为页面锁 InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁 2.各种锁特点 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低 行级锁

使用Apache Spark 对 mysql 调优 查询速度提升10倍以上

在这篇文章中我们将讨论如何利用 Apache Spark 来提升 MySQL 的查询性能. 介绍 在我的前一篇文章Apache Spark with MySQL 中介绍了如何利用 Apache Spark 实现数据分析以及如何对大量存放于文本文件的数据进行转换和分析.瓦迪姆还做了一个基准测试用来比较 MySQL 和 Spark with Parquet 柱状格式 (使用空中交通性能数据) 二者的性能. 这个测试非常棒,但如果我们不希望将数据从 MySQL 移到其他的存储系统中,而是继续在已有的

关于mysql当中给数据量特别大的两个表做关联查询的时候解决查询速度很慢的解决方法

今天碰到了两个表做关联查询的mysql,这两个表的数据量都是特别大的,有一个表的数据是上亿条的数据,有一个是几百万的数据, 查询的速度是特别慢,然后我看了一下执行计划,下面是执行执行计划: 看到上面这个图这个数据量是特别大的,这个查询起来的肯定是非常慢的,而且他的类型都是ALL类型,也就是都是全表进行扫描的.然后在网上找资料,然后发现我们可以给关联的字段建索引. 于是我给关联字段建立了索引,然后就发生了下面的变化: 整个的行数就成不知道多少个数量级的情况在下降,整个的查询速度也是加快了额很多,现

MySQL数据库服务器逐渐变慢分析与解决

一.检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU.内存.交换.磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可能正等待IO的完成.除此之外,还应观注那些占用系统资源(cpu.内存)的进程. 1.使用sar来检查操作系统是否存在IO问题 #sar -u 2 10 — 即每隔2秒检察一次,共执行20次. 结果示例: 注:在redhat下,%system就是所谓的%wio. Linux 2.4.21-20.ELs