`
丁林.tb
  • 浏览: 796690 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
  MySQL并行复制已经是老生常谈,笔者从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲分享,现在再提这个话题本来是难免“炒冷饭”嫌疑。    最近触发再谈这个话题,是因为有些同学觉得“5.7的并行复制终于彻底解决了复制并发性问题”, 感觉还是有必要分析一下。大家都说没有银弹,但是又期待银弹。。   既然要说5.7的并行复制,干脆顺手把各个版本的并行复制都说明一下,也好有个对比。便是本次分享的初衷。   【背景】 一句话说完,因为这几年太多这样文章了, 就是MySQL一直以来的备库复制都是单线程apply。  
 背景 MySQL全量逻辑备份恢复最基础的方法,就是mysqldump生成文本,再通过source 命令直接导入。一般用于实例迁移或者版本升级。 这里说明最近碰到的一个失败例子。 描述 这个例子可以简要复现如下,在源库上执行如下操作: use mydb;
   技痒之作 -__-    CREATE AGGREGATE FUNCTION oddsum returns INTEGER SONAME "udf_oddsum.so"; CREATE TABLE `v1` (   `c` int(11) DEFAULT NULL,   `id` int(11) NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into v1 values(1,0), (3,2), (4,4);    select sum(c ...
背景 有用户报告一个普通的select 语句被hang住了,执行超时。查明之后发现是autocommit使用不当导致。 这里将case简化,说明复现步骤及原因。 复现 session1 建表并插入数据: create table if not exists t(id int primary key, c int); set autocommit=0; insert into t values(1,1); insert into t values(2,2); insert into t values(3,3); commit; select count(*) fr ...
问题描述 一个用户反映线上一个SQL语句执行时间慢得无法接受。SQL语句看上去很简单(本文描述中修改了表名和字段名): SELECT count(*) FROM a JOIN b ON a.`S` = b.`S` WHERE a.`L` > '2014-03-30 00:55:00' AND a.`L` < '2014-03-30 01:00:00' ; 且 ...
 问题  一个用户问题,数据从ECS迁移到RDS,相同的语句,查询性能下降了几十倍。而实际上RDS这个实例在内存上的配置与原来ECS上的实例相当。 本文简单说明这个case的原因及建议。 用户反馈性能变慢的语句为 (修改了真实表名和列名) select count(1) from HR hr join H h on h.hid = hr.hid join A e on e.aid = h.eid join A t on t.aid = e.pid join A c on c.aid = t.pid join A p on p.aid = c.pid le ...
问题 线上碰到的问题:相同的语句,只是最后的limit行数不同。奇怪的是,limit 10 的性能比limit 100的语句还慢约10倍。 隐藏用户表信息,语句及结果如下 SELECT f1 , SUM(`f2`) `CNT` FROM T WHERE f1 IS NOT NULL AND f3 = '2014-05-12' GROUP BY f1 ORDER BY `CNT` DESC LIMIT 10; 执行时间3 min 3.65 sec SELECT f1 , SUM(`f2`) `CNT` FROM T WHERE f1 IS NOT NULL A ...
浏览了下webscalesql 的代码。目前包含的62个commit分类如下。   目前还没有能够体现”webscale”特征的代码,不过从roadmap上看,fb回头会继续把一些大动作加进来,可以期待。 本文先简要说明一下当前分支中一些有趣的代码。   关于代码洁癖 Steaphan Greene (@fb)同学的代码洁癖从多达二十几个关于testcase和编译参数调整的commit里面可见一斑。这注定webscalesql分支会是一个够干净的分支。从照片上如此粗旷的汉子真是看不出来。 
浏览了下webscalesql 的代码。目前包含的62个commit分类如下。   目前还没有能够体现”webscale”特征的代码,不过从roadmap上看,fb回头会继续把一些大动作加进来,可以期待。 本文先简要说明一下当前分支中一些有趣的代码。  
浏览了下webscalesql 的代码。目前包含的62个commit分类如下。   目前还没有能够体现”webscale”特征的代码,不过从roadmap上看,fb回头会继续把一些大动作加进来,可以期待。 本文先简要说明一下当前分支中一些有趣的代码。  
连续碰到两个同学问类似的问题,必须要记录一下。   问题:     一个作解析binlog应用的同学发现不论用utf8还是gbk来解析binlog都可能会碰到无法解析的语句,因为有些用户会用utf8,有些用gbk。尤其在处理Query
今天要写个工具就想顺便学下go。网上翻了下发现用比较多的是mymysql和go-mysql-driver。   这两个驱动网上比较的文章也有些了,不过都没有提到一个点,个人觉得是很重要的,记录一下。           先看使用go-mysql-driver的例子。    db,_:=sql.Open("mysql",
Transfer 2.3发布,下载地址   此版本除了升级based版本外 *优化了无索引表的同步性能 *优化了slave模式下超大事务内存消耗问题 *Transfer模式相关的功能改动较多 *修复transfer模式下超大事务可能同步失败的
背景          上一篇博文(链接)介绍了count distinct的一个bug。解决完以后发现客户的SQL语句仍然返回错误结果(0), 再查原因,发现了另外一个bug。也就是说,这个SQL语句触发了两个bug -_-   这里只说第二个,将问题简化后复现如下,影响已知的所有版本 。   drop table if exists tb; set tmp_table_size=1024; create table tb(id int auto_increment primary key, v varchar(32))engine=myisam charset=gbk; ...
Description          In mysql-connector-java-5.1.27, the charset utf8mb4 is supported. But the steps and result bellow looks buggy. 1、  set character_set_server=gbk in my.cnf 2、  start mysql 3、  execute  set global character_set_server=utfmb4; 4、  insert a data with utf8mb4 characters Result: ...
Global site tag (gtag.js) - Google Analytics