摘要:有个数据量 7107146 的大表,分页使用 limit m,n 越到后面速度越慢。 可以看到使用 limit m,n 的方式进行分页时,翻到最后一页尽然要9.439秒。 尝试了好几种方法,发现最快的方法是: 可以看到由 9.439秒直接下降到 0.061秒。而且这种方法基本不受第几页的影响,第一页
阅读全文
随笔分类 - MySQL 优化
1
摘要:https://www.percona.com/blog/2020/04/23/a-simple-approach-to-troubleshooting-high-cpu-in-mysql/ One of our customers recently asked whether it is poss
阅读全文
摘要:1. ct_monitor 表记录200多万条记录 2. device 表 45 条记录 3. 两个表进行join并排序 需要 16.750 秒 我们一看,就知道这个结果 明显的 不符合常识!!! 如果我们 先查 ct_monitor 表的 主键 排序之后的 6条记录,然后用那6条记录来关联 dev
阅读全文
摘要:生产上面有一条sql查询很慢,需要7到8秒左右,简化之后的sql如下所示: 执行计划如下所示: 可以看到 执行计划里面出现了 Using intersect,btjc01046 btjc01048 btjc01037 btjc01047 多个索引来进行数据的过滤。 另外发现一个问题,里面的 unio
阅读全文
摘要:CentOS7.x中发现 numactl --interleave=all 执行失败。 CentOS7.x中可以通过下面的方式关闭 numa: 1. 编辑 /etc/default/grub 文件,如下图所示加上:numa=off 2. 重新生成 /etc/grub2.cfg 配置文件: grub2
阅读全文
摘要:转自:http://database.51cto.com/art/201808/582324.htm OK,这里就说了。假设,你有一个表erp,如果你直接进行下面的命令: 这个时候所有的mysql的相关进程都会停止,直到drop结束,mysql才会恢复执行。出现这个情况的原因就是因为,在drop t
阅读全文
摘要:在老系统中该函数调用一次需要话20多秒到30秒左右。 拿到sql之后,首先要确定思路。不能着急这下手。 1. 首先查看各个表的数据量: select count(*) from xxx; 发现只有 a21 的数据量达到了十几万,其他表数据量都比较小。所以重点是 a21表,仔细阅读了一遍函数的定义,发
阅读全文
摘要:此文是根据杨尚刚在【QCON高可用架构群】中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处。 杨尚刚,美图公司数据库高级DBA,负责美图后端数据存储平台建设和架构设计。前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的
阅读全文
摘要:MySQL5.6中引入了MRR,专门来优化:二级索引的范围扫描并且需要回表的情况。它的原理是,将多个需要回表的二级索引根据主键进行排序,然后一起回表,将原来的回表时进行的随机IO,转变成顺序IO。文档地址:http://dev.mysql.com/doc/refman/5.6/en/mrr-opti...
阅读全文
摘要:ICP技术是在MySQL5.6中引入的一种索引优化技术。它能减少在使用 二级索引 过滤where条件时的回表次数 和 减少MySQL server层和引擎层的交互次数。在索引组织表中,使用二级索引进行回表的代价相比堆表中是要高一些的。相关文档地址:http://dev.mysql.com/doc/r...
阅读全文
摘要:深入理解 index merge 是使用索引进行优化的重要基础之一。理解了 index merge 技术,我们才知道应该如何在表上建立索引。1. 为什么会有index merge我们的 where 中可能有多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 OR,那么此时就有可能会使...
阅读全文
摘要:1. perf perf 是一个调查 Linux 中各种性能问题的有力工具。 性能 counter 是 Linux 新内核中提供了专门的子系统 , 该子系统提供了一个专门的框架用于各种性能分析。包括各种硬件性能指标和软件性能指标。 perf 包含了:perf-stat (perf stat), pe
阅读全文
摘要:MySQL 一般运行于Linux系统中。对于MySQL的调优一般分为Linux操作系统层面的调优和MySQL层面的调优(当然还有架构层面、业务层面、应用程序层面的调优)。操作系统主要是管理和分配硬件资源,所以其实系统层面的调优包括了硬件的调优,也就是调整硬件参数。Linux系统层面的调优一般分为 C...
阅读全文
摘要:1. sysstat service1.1. /etc/cron.d/sysstatLinux 下的性能分析,少不了要使用 sysstat 工具包中的命令。同时 sysstat 服务会自动每个10分钟收集一次系统状态信息,并将它们存储到 /var/log/sa目录下。每天一个文件,文件名分别是sa0...
阅读全文
摘要:MySQL 调优基础(五) Linux网络基础
阅读全文
摘要:MySQL 调优基础(四) Linux 磁盘IO
阅读全文
摘要:MySQL 调优基础(三) Linux文件系统
阅读全文
摘要:MySQL 调优基础(二) Linux内存管理
阅读全文
摘要:MySQL 调优基础(一) CPU与进程
阅读全文
摘要:Profiling MySQL queries from Performance Schema
阅读全文
1