mysql排查线上数据库问题,经常会用到 show processlist和show full processlist这两条命令 processlist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。 如果是root帐号,能看 ...
分类:
数据库 时间:
2020-02-18 09:20:00
阅读次数:
102
概述 压测过程中我们主要压的是应用程序和数据库sql。如果性能瓶颈在数据库这,数据库、应用程序的操作系统负载指标正常,应用程序的响应时间大。通过mysql的myslqdumpslow自带慢查工具查询慢sql,首先分析sql执行计划是否有全表扫描、索引失效的问题去优化,然后考虑换个性能优良的磁盘、分库 ...
分类:
数据库 时间:
2020-02-16 14:46:37
阅读次数:
87
项目中一直使用Mysql,对于慢sql优化也一直在做,但是一直没有梳理清楚,这里简单总结一下 首先看一下mysql为什么要使用索引 1)索引是帮助Mysql高效获取数据的 排好序的 数据结构 2)索引存储在文件里 首先说明一下,Mysql是使用B+树作为索引的 在没有索引的情况下,如果要找到一条记录 ...
分类:
数据库 时间:
2020-01-28 13:54:46
阅读次数:
129
当业务量上升后,由于mysql对全文检索或模糊查询支持的能力不强,在系统中查询的地方,往往会出现慢sql等,拖累系统其他模块,造成性能低下。 随着ES使用普及率的升高,ES是mysql的一个有效补充。我们可以将数据发送到搜索引擎(如ES)上,由搜索引擎来提供专业的服务。 接下来,就结合工作中实际用到 ...
分类:
其他好文 时间:
2019-12-31 18:38:00
阅读次数:
100
背景 最近生产爆出一条慢sql,原因是用了or和!=,导致索引失效。于是,总结了索引失效的十大杂症,希望对大家有帮助,加油。 一、查询条件包含or,可能导致索引失效 新建一个user表,它有一个普通索引userId,结构如下: CREATE TABLE `user` ( `id` int(11) N ...
分类:
其他好文 时间:
2019-12-23 18:51:53
阅读次数:
102
先回答问题,是的。 故事, 如下图,今天查看慢sql发现同事在建索引的时候竟然包含了主键,第一感觉这种姿势不对。 我记得很多文章都说过二级索引会自动带上主键,为什么还有人这么操作,后来差了些资料,如下: https://stackoverflow.com/questions/21996001/sho ...
分类:
数据库 时间:
2019-09-20 16:33:06
阅读次数:
127
在工作中如果遇到慢sql通常都可以用explain进行解析。 先列一下各个列名以及含义 | 列名 | 描述 | | : | : | | id | 在一个大的查询中每一个查询关键字都对应一个id | | select type | select关键字对应的那个查询类型 | | table | 表名 | ...
分类:
数据库 时间:
2019-09-20 00:19:20
阅读次数:
92
***explain ****分析******* 1观察,至少跑一天,看看生产的慢SQL情况 2开启慢查询日志,设置阙值,比如超过5秒钟的就是慢SQL,并将它抓取出来 3explain+慢SQL分析 4show profile 5运维经理 or DBA,进行SQL数据库服务器的参数调优 *****总 ...
分类:
数据库 时间:
2019-09-11 09:56:57
阅读次数:
112
一、MySQL会遇到的问题: 1、高并发的读写效率低问题 解决方案:集群,分布式。 2、海量数据的读写效率低问题 解决方案:分表,分库。 3、高可用和高扩展 解决方案:动态扩展服务器、防止单点故障、容灾。 二、关系型数据库优化:(原则:先单机,后多机。) 2.1 单机优化方案: 1.慢SQL的定义- ...
分类:
数据库 时间:
2019-09-05 23:24:53
阅读次数:
110
我们在使用数据库时,为了使业务系统性能达到最优,往往都需要避免慢SQL查询,不能等到线上告警了再排查是否为慢SQL导致。在开发阶段,每个开发人员就应该针对自己写的SQL看是否可能为慢SQL,从而进行相应的SQL优化和索引优化等。项目中可能用的是mybatis,也可能用的jpa,针对写的SQL如何能自... ...
分类:
数据库 时间:
2019-08-31 19:07:32
阅读次数:
119