一、背景 我们工作中经常打交道的就是索引,那么到底什么是索引呢?例如,当一个SQL查询比较慢的时候,你可能会说给“某个字段加个索引吧”之类的解决方案。 总的来说索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本上千页页的英语字典,如果你想快速找到其中的某一个单词,在不借助目录的情况下, ...
分类:
数据库 时间:
2020-05-17 12:58:17
阅读次数:
211
一,慢查询 1.1什么是慢查询:一个日志,记录着一个sql语句。如何定义慢查询,有一个阈值(long_query_time). 1.2如何在日志中定位慢查询语句:使用mysql自带工具 执行命令找出最慢的几条sql 下面为慢查询的sql语句 二,分析sql语句 2.1分析每个表的数据量 2.2常见优 ...
分类:
数据库 时间:
2020-05-16 00:29:17
阅读次数:
67
MYSQL:基础——索引原理及慢查询优化 B-树 数据库索引是存储在磁盘上的,当数据量比较大的时候,索引的大小将会达到几个G。当我们利用索引查询的时候,无法把整个索引全部加载到内存中。而是逐一加载每一个磁盘页,这里的磁盘页对应索引树的结点。 B-树,一种平衡多路查找树。适用于查找磁盘中的大量数据。为 ...
分类:
数据库 时间:
2020-05-13 23:09:04
阅读次数:
86
针对慢查询日志,可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢查询日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除。slowlog-log-slower-than 1000 # 单位ms,表示慢于1000ms则记录日志 slowlog-max-len 128 # ... ...
分类:
其他好文 时间:
2020-05-10 11:21:55
阅读次数:
88
谈到性能优化分析一般会涉及到: Java代码层面的,典型的循环嵌套等 还会涉及到Java JVM:内存泄漏溢出等 MySQL数据库优化:分库分表、慢查询、长事务的优化等 阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化总结 阿里P8架构师谈:架构设计之数据库垂直、水平拆分六大原则(数据 ...
分类:
其他好文 时间:
2020-05-07 13:38:17
阅读次数:
117
1.什么是慢查询 MySQL的慢查询,全名是慢查询日志,是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阀值的语句。 具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。 long_query_time的默认值为10,意思是记录运行10秒 ...
分类:
数据库 时间:
2020-05-02 18:36:40
阅读次数:
81
原文:一篇文章快速搞懂Redis的慢查询分析 什么是慢查询? 慢查询,顾名思义就是比较慢的查询,但是究竟是哪里慢呢?首先,我们了解一下Redis命令执行的整个过程: 发送命令 命令排队 命令执行 返回结果 在慢查询的定义中,统计比较慢的时间段指的是命令执行这个步骤。没有慢查询,并不表示客户端没有超时... ...
分类:
其他好文 时间:
2020-04-28 00:34:07
阅读次数:
56
背景: 公司内部的一个系统实现的时候用了分表,方案是开源的ShardingSphere 分表算法使用了100取模,100张表嗯嗯数据量太大,对于历史数据还使用了定时任务迁移。这些架构设计会在另一篇文章详谈。 故障: 某日,数据库告警,cup报警,发现多条慢查询日志(部分查询高达8分钟...),进而导 ...
分类:
数据库 时间:
2020-04-23 18:56:15
阅读次数:
76
慢查询 这里的执行时间不包括IO操作,比如与客户端通信,发送回复等等,而只是实际执行命令所需的时间(这是唯一在命令执行过程中线程被阻塞且不能同时处理其他请求的阶段)。 可以用两个参数配置慢查询日志: 1. _slowlog log slower than_告诉Redis命令的执行时间超过多少微秒将会 ...
分类:
其他好文 时间:
2020-04-23 13:49:41
阅读次数:
79
什么是慢查询? 答:在MySQL数据库中慢查询是在日志中记录执行速度慢的SQL语句,这个功能需要被开启才能被使用。1.在Windows系统下的MySQL 配置文件一般是是my.ini找到[mysqld]下面加上 代码如下: log slow queries = F:/MySQL/log/mysqls ...
分类:
其他好文 时间:
2020-04-18 16:05:00
阅读次数:
95