五 12 MySQL server has gone away解决办法 发布时间:2010 年 5 月 12 日 发布者: OurMySQL 1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。 2、执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理 继续阅读全文 →
四 13 InnoDB Double write 发布时间:2010 年 4 月 13 日 发布者: OurMySQL 在InnoDB将BP中的Dirty Page刷(flush)到磁盘上时,首先会将Page刷到InnoDB tablespace的一个区域中,我们称该区域为Double write Buffer。在向Double write Buffer写入成功后,再择机将数据拷贝到正在的数据文件对应的位置。 继续阅读全文 →
四 12 MySQL半同步存在的问题 发布时间:2010 年 4 月 12 日 发布者: OurMySQL 在开启MySQL半同步的时候,需要至少一个开启了半同步的slave。在master提交一个写事务之后,master会block这个事务,直到至少一个slave确认已经接受到了该复制事件,这时master才想应用程序确认提交成功。否则超时中断半同步,直到重新满足条件开启。 继续阅读全文 →
四 12 MySQL也能并发导入数据 发布时间:2010 年 4 月 12 日 发布者: OurMySQL 对MySQL的用户而言,备受诟病的一个问题就是导入SQL备份文件时不能并发,使得导入的效率很低。今天,我们就来改变下思路,尝试一下并发导入的方法,供大家参考。1、问题分析想要实现并发导入,其实没那么难,最简单的思路就是:将完整的文件切分成多份,然后并发导入即可。在这里,我自己的做法是这样的:1) 首先,假设只有一个库;多个库的情况也是类似,无非就是循环2) 计算SQL文件总行数3) 计算SQL文件总大小4) 设定每个切分文… 继续阅读全文 →
三 09 Innodb 表和索引结构 发布时间:2010 年 3 月 9 日 发布者: OurMySQL 因为Innodb表的数据是依赖于聚集索引顺序存放,同时聚集索引和数据一块存储,普通索引也需要存放一份聚集索引。所以对于聚集索引的设计尽量按顺序写入,必免数据分页,行迁移等对性能影响的现象。另外聚集索引要设计的尽可能短。从设计上必须锁的时间,大量随机IO的出现。 继续阅读全文 →
三 09 InnoDB线程并发检查机制 发布时间:2010 年 3 月 9 日 发布者: OurMySQL InnoDB在接受MySQL线程调用时,有一个并发线程的检查机制,通过innodb_thread_concurrency参数进行控制。如果参数设置大于0,则表示检查机制开启,允许进入的线程数就是参数的值。等于0则禁用并发检查。 继续阅读全文 →
二 07 mysqldump意外终止的原因以及解决方法 发布时间:2010 年 2 月 7 日 发布者: OurMySQL mysqldump是非常重要的MySQL备份工具。然而在长年累月的使用过程中,T … 继续阅读全文 →
二 07 MySQL Timeout解析 发布时间:2010 年 2 月 7 日 发布者: OurMySQL “And God said, Let there be network: and there was timeout” 在使用MySQL的过程中,你是否遇到了众多让人百思不得其解的Timeout? 那么这些Timeout之后,到底是代码问题,还是不为人知的匠心独具? 继续阅读全文 →
二 07 MySQL库目录下db.opt文件的作用 发布时间:2010 年 2 月 7 日 发布者: OurMySQL 细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件,那这个文件是干什么用的呢?如果你用vi等编辑器打开看的话,内容很简单,是用来记录该库的默认字符集编码和字符集排序规则用的。也就是说如果你创建数据库指定默认字符集和排序规则,那么后续创建的表如果没有指定字符集和排序规则,那么该新建的表将采用db.opt文件中指定的属性。 继续阅读全文 →
十二 20 Innodb如何使用内存 发布时间:2009 年 12 月 20 日 发布者: OurMySQL 最近经常被问起Innodb是如何使用内存的。该问题早已被原MySQL公司的Vadim论证过。我这里译一下他的文章供大家参考。 继续阅读全文 →