Waiting for table metadata lock 问题一例
今天,开发人员反应MySQL测试库,查询ecs_ugo_goods表长时间不出结果,类似于卡死。在卡死之前,他在ecs_ugo_goods表里新增个字段 。 数据库版本5.6.24 。登录测试库,通过show processlist命令查看连接的状态,存在大量“Waiting for table metadata lock”锁等待。等待的线程都执行了和ecs_ugo_goods 表相关的SQL。
Read more今天,开发人员反应MySQL测试库,查询ecs_ugo_goods表长时间不出结果,类似于卡死。在卡死之前,他在ecs_ugo_goods表里新增个字段 。 数据库版本5.6.24 。登录测试库,通过show processlist命令查看连接的状态,存在大量“Waiting for table metadata lock”锁等待。等待的线程都执行了和ecs_ugo_goods 表相关的SQL。
Read more在生产中,重启MySQL后,会发现一段时间内SQL性能变差,然后最终恢复到原有性能。这是因为MySQL经常操作的热点数据都已经缓存到InnoDB Buffer Pool中,重启后,需要将热点数据逐渐缓存到 InnoDB Buffer Pool中,从磁盘读取数据自然没有从内存读取数据快。 MySQL重启后,将热点数据逐渐缓存到 InnoDB Buffer Pool的过程称为预热(warmup)。让应
Read more在工作中,经常遇到将大量数据插入、导入到MySQL数据库中,本文介绍如何高效完成导入、插入操作。 优化insert操作的速度,需要将多个小的操作合成一个大的操作。理想状态:只做一次连接;一次发送所有数据;延迟索引更新和一致性校验,直到insert结束再做。 insert操作各部分占的比例:
1 2 3 4 5 6 |
Connecting: (3) Sending query to server: (2) Parsing query: (2) Inserting row: (1 × size of row) Inserting indexes: (1 × number of indexes) Closing: (1) |
使用下列办法可以提高insert速度: 使
Read more朋友问我,是否监控了MySQL的活跃thread。我想了想,是监控的,因为依据是MySQL官方文档关于mysqladmin status的一句话“Threads:The number of active threads (clients)”。 但是,仔细想想,mysqladmin status中Threads的值并不是我们常说的活跃thread。我们日常中常说的活跃thread,是指正在执行命令的
Read morePXC是Percona XtraDB Cluster的缩写,是一种具有高可用性和高扩展性的MySQL开源集群。它集成了Percona Server和Percona XtraBackup,同时采用了Codership Galera库。 常见的PXC架构如下, 下面,开始安装PXC 5.7.14 一、环境说明 主机
1 2 3 4 |
# PXC # 10.9.15.111 pxc1 10.9.15.112 pxc2 10.9.15.113 pxc3 |
OS : CentO
Read more在 《Greenplum数据加载方式(2) – 外部表(gpfdist)》 和 《Greenplum数据加载方式(3) – gpload》 两篇文章中都使用到了gpfdist。本篇文章将详细介绍gpfdist的工作原理;Greenplum主要适用于大数据场景,数量都是TB级别,那么利用gpfdist加载数据必须要高效,因此gpfdist的性能优化也很重要。 一、工作原理 <1>启动gp
Read more《Greenplum数据加载方式(1) – insert 和 copy》和 《Greenplum数据加载方式(2) – 外部表(gpfdist)》两篇文章介绍了Greenplum加载数据的三种方式。本篇引入Greenplum的第四种数据加载方式:gpload。 一、gpload原理介绍 gpload是GP使用可读外部表和GP并行文件服务gpfdist装载数据的一个命令包装。其允许通过使用配置文件的
Read more上篇《Greenplum数据加载方式(1) – insert 和 copy》介绍了Greenplum最普通、低效的数据导入方式:insert和copy。 为了提高数据导入效率,Greenplum引入了外部表。外部表基于gpfdist工具(类似于Oracle的sqlldr工具),其最大的优势是支持数据并发加载。 一、外部表介绍及原理 所谓外部表,就是在数据库中只有表定义、没有数据,数据都存放在数据库
Read more